22 مستودعات
Mechanisms such as mutexes and semaphores used to coordinate access to shared resources between processes.
Distinct from Resource Loading Synchronization: Candidates focus on session sharing or UI resource loading rather than general process synchronization locks.
Explore 22 awesome GitHub repositories matching operating systems & systems programming · Process Synchronization Locks. Refine with filters or upvote what's useful.
Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides a wide range of reusable components, data structures, and algorithms designed to add capabilities to the base language across different platforms. The project is distinguished by its extensive focus on compile-time template metaprogramming and generic programming. It implements advanced architectural patterns such as policy-based design, concept-based type validation, and the use of SFINAE for conditional template resolution to minimize runtime overhead. The library covers a
Coordinates shared resource access using mutexes, semaphores, and condition variables between processes.
This project is an Android RPA framework designed for automating user interfaces and system tasks on rooted Android devices using Python and ADB. It provides a suite of tools for rooted device management, allowing for programmatic control of system settings, application lifecycles, and shell command execution via a remote API. The framework distinguishes itself through a combination of dynamic instrumentation and AI integration. It can inject scripts into running processes to hook Java interfaces and modifies application behavior in real time. Additionally, it supports large language model in
Restricts API access to a single device instance to prevent concurrent process interference.
This project is a Python data science curriculum and programming tutorial collection. It provides a structured set of educational notebooks and scripts designed to teach data analysis, machine learning, and deep learning. The repository serves as a learning path for building and tuning predictive models, including regression, decision trees, and neural networks. It includes a data visualization guide for creating financial time-series plots and a multiprocessing reference for implementing parallel task execution and shared memory synchronization. The curriculum covers broader capability area
Implements synchronization locks to prevent data corruption when multiple processes access shared memory.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Improve performance for non-mutating operations by executing logic on entries without acquiring locks or checking lock status.
Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an
Uses reentrant locks to prevent race conditions during simultaneous state transition triggers.
Masuit.Tools is a comprehensive static utility library for .NET and ASP.NET Core development. It provides a broad collection of reusable helper methods and infrastructure components that cover common programming tasks without requiring dependency injection or instance management. The library is organized as flat utility classes, making its functionality directly accessible from anywhere in a project. The toolkit distinguishes itself through a wide range of integrated capabilities that go beyond typical utility libraries. It includes a multithreaded range-request file downloader with pause and
Provides a utility to run database queries under a read-uncommitted transaction to avoid blocking.
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Implements non-blocking lock acquisition that returns immediately with a boolean instead of blocking the caller.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Coordinates access to shared resources using semaphores, mutexes, condition variables, and monitors to prevent race conditions.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Explains trylock-based deadlock avoidance with non-blocking lock attempts and rollback.
هذا المشروع عبارة عن حشوة توافق (Polyfill) لـ PHP مصممة لإعادة نقل الوظائف والثوابت الأساسية من PHP 7.2 إلى الإصدارات الأقدم من اللغة. يعمل كامتداد للمكتبة القياسية لـ PHP وإعادة نقل للإصدارات، حيث يوفر طبقة توافق تملأ الفجوات في نواة PHP لضمان سلوك متسق عبر بيئات مختلفة. تُمكّن المكتبة من نقل الكود عبر الإصدارات من خلال تنفيذ وظائف المكتبة القياسية المفقودة، مما يسمح لميزات اللغة الأحدث بالعمل على بيئات PHP القديمة. يضمن هذا أن التطبيقات يمكنها الحفاظ على واجهة متسقة والبقاء متوافقة مع المكتبات الحالية حتى عند تشغيلها على إصدارات قديمة.
Coordinates access to shared resources between processes by serializing lock states.
توفر مكتبة التزامن Java هذه مجموعة من الأدوات لإدارة التنفيذ متعدد الخيوط، والمزامنة، واتساق الذاكرة. تعمل كإطار عمل شامل لتنفيذ التنفيذ المتزامن من خلال ذرات خالية من القفل، ومجموعات آمنة للخيوط، وبدائيات تنسيق المهام، ومجمعات العمال. يتضمن المشروع مجموعة أدوات مزامنة خيوط مخصصة تتميز بالمزالج، والحواجز، والإشارات لتنسيق توقيت وترتيب المهام المتزامنة. كما يوفر مجموعة مجموعات متزامنة من الخرائط، والطوابير، والقوائم التي تتيح مشاركة البيانات دون قفل يدوي، إلى جانب إطار عمل للعمليات الذرية للتحديثات الخالية من القفل للأنواع والمراجع الأساسية. تغطي المكتبة مجالات قدرة واسعة بما في ذلك إدارة مجمع الخيوط لتحسين استخدام الموارد، وتحليل نموذج الذاكرة لضمان رؤية البيانات، وآليات إدارة القفل المختلفة لمنع ظروف السباق. تدعم هذه الأدوات بشكل جماعي تطوير التطبيقات متعددة الخيوط التي تحافظ على انتقالات حالة متسقة عبر الذاكرة المشتركة.
Provides reentrant locks that allow threads to acquire the same lock multiple times without deadlocking.
هذا المشروع عبارة عن مستودع تعليمي ومورد دراسي يوفر مجموعة شاملة من ملاحظات الدراسة، وأدلة البرمجة، وأمثلة كود قابلة للتشغيل. يعمل كدليل لتطوير Java SE وتطوير ويب Java، ويتميز بمكتبة من عينات الكود التي توضح الخوارزميات الشائعة والتنفيذات التقنية. يركز المستودع على تحليل لغة Java ووقت التشغيل، مع دروس تفصيلية حول تعدد الخيوط (multithreading) والتزامن. يوفر تنفيذات عملية لهندسة البرمجيات وأنماط التصميم، مثل نمط Singleton ونمط Strategy، بالإضافة إلى استكشافات لـ Java Virtual Machine و bytecode. يغطي المشروع مجموعة واسعة من القدرات بما في ذلك أساسيات اللغة مثل generics و annotations، وأساسيات تطوير الويب التي تتضمن معالجة طلبات HTTP وإدارة الجلسات، وبدائيات التزامن لدورة حياة الخيوط ومزامنة الموارد. كما يتضمن أدوات للأمان، ومعالجة البيانات، وتوليد الصفحات الديناميكية.
Orchestrates various locking strategies, including reentrant and read-write locks, to control shared resource access.
ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with
Acquires reentrant locks that the same fiber can re-enter multiple times.
هذه مكتبة PHP توفر واجهات قياسية لتخزين البيانات مؤقتاً من خلال مواصفات PSR-6 وPSR-16. تعمل كمدير تجمع ذاكرة التخزين المؤقت ومحول ذاكرة تخزين مؤقت موزع، مما يسمح للتطبيقات بتنظيم أزواج المفتاح-القيمة في مستودعات ومساحات أسماء منطقية. يتضمن المشروع أداة مخصصة لمنع تدافع ذاكرة التخزين المؤقت (cache stampede) التي تحمي الأنظمة من ارتفاعات المعالج أثناء انتهاء صلاحية القيمة. يتم تحقيق ذلك من خلال آليات القفل للطلبات المتزامنة وانتهاء الصلاحية المبكر الاحتمالي. تدعم المكتبة تسلسل الكائنات مع التشفير والضغط الاختياري لترجمة البيانات المعقدة إلى صيغ قابلة للتخزين. توفر طبقة تجريد تخزين متعددة الخلفيات، مما يتيح استمرارية البيانات عبر الذاكرة، وأنظمة الملفات، وقواعد البيانات الموزعة. تشمل القدرات الأخرى استرجاع ذاكرة التخزين المؤقت القائم على رد الاتصال وتسمية النطاقات القائمة على المفتاح لعزل البيانات.
Prevents multiple processes from recomputing the same expired value by locking concurrent requests during the cache miss period.
ShedLock هو مدير قفل موزع مصمم لمنع المهام المجدولة من التشغيل بشكل متزامن عبر عقد متعددة في نظام موزع. يعمل كمنسق مهام يضمن تنفيذاً واحداً للوظائف الموقوتة من خلال إدارة أعمار القفل واستخدام مزودي قفل خارجيين. يستخدم النظام مزودين مدعومين بقاعدة بيانات لتخزين حالات تنفيذ المهام في قواعد بيانات خارجية، مما يزامن الأقفال عبر عقد المجموعة النشطة. يتضمن مزامناً متسامحاً مع انحراف الساعة يتعامل مع تباينات الوقت بين العقد الموزعة من خلال استخدام طوابع زمنية مشتركة وأعمار قفل مرنة. يوفر المشروع آليات لاستبعاد الموارد المشتركة المتبادل وتنسيق المهام متعددة العقد. يدعم انتهاء صلاحية القفل التلقائي لمنع حالات الجمود (deadlocks) أثناء تعطل العقد ويحافظ على الحد الأدنى من أوقات احتجاز القفل لضمان اكتمال المهام قبل تحرير القفل. يستخدم التنفيذ تجريداً لا يعتمد على المزود لفصل منطق القفل عن مختلف خلفيات قواعد البيانات.
Automatically releases locks after a predefined maximum time to prevent permanent deadlocks during node crashes.
Orioledb is a cloud-native storage engine for PostgreSQL designed to replace the default storage layer to improve vertical scalability and performance on modern hardware. It functions as an index-organized table store, organizing table rows directly within the primary index to accelerate data retrieval. The engine utilizes an undo log storage system to manage data versioning, which eliminates the need for manual vacuuming and prevents table bloat. It further reduces the disk footprint through block-level and page-level data compression. The project provides capabilities for advanced index ma
Enables high-throughput concurrent reads by linking in-memory pages directly to storage to bypass buffer mapping.
This project is a PHP compatibility library that provides a polyfill for the native ctype extension. It serves as a portability layer, implementing missing core language functions to ensure consistent behavior across different server environments and PHP versions. The library specializes in character type validation, recreating the behavior of native extension functions using pure PHP code. It uses runtime environment detection to identify if the native extension is missing and injects fallback implementations directly into the global namespace to prevent collisions and maintain code portabil
Provides mechanisms such as mutexes used to coordinate access to shared resources between processes.
Redsync هو مدير أقفال موزع (Distributed Lock Manager) وامتداد لعميل Redis بلغة Go، مصمم لضمان الوصول الحصري إلى الموارد المشتركة. يقوم بتنفيذ آلية الاستبعاد المتبادل (Mutual Exclusion) عبر عمليات متعددة باستخدام Redis كخلفية لتنسيق المزامنة ومنع حالات التنافس (Race Conditions) في البيئات الموزعة. تحافظ المكتبة على صلاحية القفل من خلال إجماع قائم على النصاب (Quorum-based consensus)، مما يتطلب عمليات كتابة ناجحة لأغلبية عقد Redis المستقلة. وتستخدم عمليات ذرية (Atomic operations) عبر سكربتات Lua للاستحواذ على الأقفال وتحريرها، مع توظيف التحقق من الملكية القائم على القيم وفترة صلاحية (TTL) لمنع حالات الجمود (Deadlocks). يوفر المشروع إمكانيات للتنسيق الموزع ومزامنة التطبيقات، مع استخدام آلية إعادة المحاولة (Retry polling) من جانب العميل لإدارة مهلات الاستحواذ على الموارد.
Prevents deadlocks by associating a time-to-live value with every lock to ensure automatic expiration if the owner fails.
BLEUnlock هي أداة أتمتة لنظام macOS ووحدة تحكم في النظام تعتمد على القرب، تراقب نطاق أجهزة Bluetooth Low Energy الموثوقة لأتمتة أمان الشاشة وإلغاء القفل القائم على الأجهزة. تعمل كأداة خلفية تحدد وتصفي الأجهزة القريبة حسب معرفاتها الفريدة وقوة الإشارة لتشغيل إجراءات النظام. يدير النظام تلقائياً حالات قفل الشاشة، حيث يقوم بتنبيه الشاشة وإلغاء قفل الكمبيوتر عندما يدخل جهاز مقترن في نطاق إشارة محدد، أو قفل الشاشة وبدء شاشة التوقف عندما يخرج الجهاز من النطاق. بعيداً عن الأمان، توفر الأداة إدارة للنظام تعتمد على القرب، بما في ذلك القدرة على إيقاف أو استئناف تشغيل الوسائط وتنفيذ سكربتات shell مخصصة يحددها المستخدم استجابةً لأحداث القفل وإلغاء القفل.
Changes the system lock state automatically based on the presence of paired Bluetooth Low Energy devices.
tmux-continuum هي إضافة استمرارية ومدير جلسات لـ tmux terminal multiplexer. توفر أدوات لنسخ مساحات عمل terminal multiplexer احتياطياً واستعادة جلسات الخادم تلقائياً لمنع فقدان البيئة بعد إعادة التشغيل. يركز المشروع على الحفظ والاستعادة الآلية لتخطيطات مساحة العمل وحالات النوافذ. وتعمل كأداة أتمتة لبدء التشغيل يمكنها تشغيل خادم tmux تلقائياً عند بدء تشغيل النظام لضمان جاهزية بيئة التطوير للاستخدام. يدير النظام الحالة من خلال نسخ احتياطية دورية في الخلفية ويسجل بيانات جلسة العمل الوصفية في لقطات ملفات مسطحة. وتتضمن مؤشر شريط حالة لتتبع الفاصل الزمني للنسخ الاحتياطي وحارساً لتقييد إدارة الحالة بمثيل خادم نشط واحد.
Ensures only one active server process handles state backups to prevent redundant operations.