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.
本项目是一个 PHP 兼容性 Polyfill,旨在将核心函数和常量从 PHP 7.2 向后移植到旧版本的语言。它作为 PHP 标准库扩展和版本向后移植,提供了一个兼容层,填补了 PHP 核心中的空白,以确保在不同环境中的一致行为。 该库通过实现缺失的标准库函数实现跨版本代码可移植性,允许较新的语言特性在旧版 PHP 环境中运行。这确保了应用能够保持一致的接口,并在运行于过时版本时仍能与当前库保持兼容。
Sets a time-to-live for locks to ensure automatic release if a process crashes.
该 Java 并发库提供了一套用于管理多线程执行、同步和内存一致性的工具。它作为一个综合框架,通过无锁原子操作、线程安全集合、任务协调原语和工作线程池来实现并发执行。 该项目包括一个专用的线程同步工具包,具有锁存器(latches)、屏障(barriers)和信号量(semaphores),用于协调并发任务的时序和顺序。它还提供了一套并发集合(映射、队列和列表),无需手动锁定即可实现数据共享,以及一个用于对基本类型和引用进行无锁更新的原子操作框架。 该库涵盖了广泛的功能领域,包括用于优化资源利用的线程池管理、确保数据可见性的内存模型分析,以及防止竞态条件的各种锁管理机制。这些工具共同支持开发在共享内存中保持一致状态转换的多线程应用。
Provides reentrant locks that allow threads to acquire the same lock multiple times without deadlocking.
该项目是一个教学仓库和学习资源,提供了全面的学习笔记、编程指南和可运行的源码示例。它作为 Java SE 和 Java Web 开发的指南,包含一个代码示例库,演示了常见的算法和技术实现。 该仓库专注于语言核心和运行时分析,并提供有关多线程和并发的详细教程。它提供了软件架构和设计模式(如单例模式和策略模式)的实际实现,以及对 Java 虚拟机 (JVM) 和字节码的探索。 该项目涵盖了广泛的能力,包括泛型和注解等语言基础、涉及 HTTP 请求处理和会话管理的 Web 开发基础,以及用于线程生命周期和资源同步的并发原语。它还包括用于安全、数据处理和动态页面生成的实用程序。
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 规范缓存数据提供了标准化接口。它作为一个缓存池管理器和分布式缓存适配器,允许应用将键值对组织到逻辑仓库和命名空间中。 该项目包括一个专用的缓存雪崩预防工具,保护系统免受值过期期间的 CPU 峰值影响。这是通过针对并发请求的锁定机制和概率性提前过期来实现的。 该库支持带有可选加密和压缩的对象序列化,以将复杂数据转换为可存储格式。它提供了一个多后端存储抽象层,实现了跨内存、文件系统和分布式数据库的数据持久化。其他功能包括基于回调的缓存检索和用于数据隔离的基于键的命名空间。
Prevents multiple processes from recomputing the same expired value by locking concurrent requests during the cache miss period.
ShedLock 是一个分布式锁管理器,旨在防止定时任务在分布式系统中的多个节点上并发运行。它作为一个任务协调器,通过管理锁寿命和利用外部锁提供商来确保定时作业的单次执行。 该系统利用基于数据库的提供商将任务执行状态存储在外部数据库中,从而在活跃集群节点间同步锁。它包含一个容忍时钟漂移的同步器,通过使用共享时间戳和灵活的锁寿命来处理分布式节点之间的时间差异。 该项目提供了共享资源互斥和多节点任务协调的机制。它支持自动锁过期以防止节点崩溃期间的死锁,并保持最小锁持有时间以确保任务在锁释放前完成。 该实现使用与提供商无关的抽象,将锁定逻辑与各种数据库后端解耦。
Automatically releases locks after a predefined maximum time to prevent permanent deadlocks during node crashes.
Orioledb 是一个专为 PostgreSQL 设计的云原生存储引擎,旨在替换默认存储层,以提高现代硬件上的垂直扩展性和性能。它作为一个索引组织表存储,直接在主索引内组织表行,以加速数据检索。 该引擎利用撤销日志存储系统来管理数据版本控制,这消除了手动清理(vacuuming)的需要并防止了表膨胀。它还通过块级和页级数据压缩进一步减少了磁盘占用。 该项目提供了高级索引管理和自动化数据库维护功能。它包括通过行级日志记录实现高可用性恢复的功能,以及用于分析空间利用率和验证表完整性的工具。
Enables high-throughput concurrent reads by linking in-memory pages directly to storage to bypass buffer mapping.
Redsync 是一个分布式锁管理器和 Go Redis 客户端扩展,旨在确保对共享资源的独占访问。它通过使用 Redis 后端来协调同步并防止分布式环境中的竞态条件,从而在多个进程间实现互斥。 该库通过基于法定人数(quorum)的共识机制维持锁的有效性,要求成功写入大多数独立的 Redis 节点。它利用 Lua 脚本原子操作进行获取和释放,同时采用基于值的归属权验证和生存时间(TTL)过期机制来防止死锁。 该项目提供了分布式协调和应用程序同步功能,利用客户端重试轮询来管理资源获取超时。
Prevents deadlocks by associating a time-to-live value with every lock to ensure automatic expiration if the owner fails.
BLEUnlock 是一款 macOS 自动化工具和基于接近度的系统控制器,通过监控受信任的蓝牙低功耗(BLE)设备的范围,实现屏幕安全和基于硬件的自动解锁。它作为一个后台实用程序,通过唯一标识符和信号强度识别并过滤附近设备,从而触发系统操作。 该系统自动管理屏幕锁定状态,当配对设备进入定义的信号范围时唤醒显示器并解锁计算机,或者当设备移出范围时锁定屏幕并启动屏幕保护程序。 除了安全性之外,该工具还提供基于接近度的系统管理功能,包括在锁定和解锁事件发生时暂停或恢复媒体播放,以及执行自定义用户定义的 Shell 脚本。
Changes the system lock state automatically based on the presence of paired Bluetooth Low Energy devices.
HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control system execution. By utilizing hypervisor-level primitives, it enables deep system analysis and instrumentation without relying on standard operating system debugging interfaces. The framework provides a comprehensive environment for inspecting both kernel and user-mode processes, allowing for granular control over execution flow and system state. The project distinguishes itself through a transparent debugging layer designed to remain invisible to the target environment. It emp
Releases held spinlocks to allow other processes or threads to access protected resources during debugging.
Whatsie is a web application desktop wrapper designed to turn web interfaces, specifically messaging services, into standalone desktop applications. It provides a dedicated window environment with a custom icon and system tray integration. The project includes security and privacy layers such as password-protected session locking with automatic timeouts and the ability to purge persistent application data and web caches. It also features native hardware permission management for controlling camera and microphone access. The application supports native system notifications, file download hand
Prevents multiple application copies using a lock file and inter-process communication.