7 个仓库
Techniques for coordinating access to shared memory using atomic primitives and mutexes to prevent data races.
Distinct from Mutex-Based Resource Synchronizations: Covers both mutex-based and lock-free atomic synchronization, whereas the sibling focuses strictly on mutexes.
Explore 7 awesome GitHub repositories matching operating systems & systems programming · Atomic Thread Synchronization. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Provides detailed instructions on protecting shared memory using both mutexes and lock-free atomic operations.
Detours is a library for intercepting Win32 API calls and redirecting function calls at runtime on Windows, enabling binary-level instrumentation without requiring access to the original source code. It functions as an API hooking library and binary instrumentation toolkit, allowing developers to monitor or modify the behavior of compiled Windows binaries by hooking into their function execution paths. The project achieves this through detour-based function interception, where the first few instructions of a target function are replaced with a jump to a user-supplied detour function, while pr
Uses interlocked operations to atomically replace function entry points, preventing race conditions during hook installation.
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
Synchronizes access to shared resources using mutexes, condition variables, and atomic operations.
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
Covers condition variable synchronization for blocking threads until a condition is signaled.
该 Java 并发库提供了一套用于管理多线程执行、同步和内存一致性的工具。它作为一个综合框架,通过无锁原子操作、线程安全集合、任务协调原语和工作线程池来实现并发执行。 该项目包括一个专用的线程同步工具包,具有锁存器(latches)、屏障(barriers)和信号量(semaphores),用于协调并发任务的时序和顺序。它还提供了一套并发集合(映射、队列和列表),无需手动锁定即可实现数据共享,以及一个用于对基本类型和引用进行无锁更新的原子操作框架。 该库涵盖了广泛的功能领域,包括用于优化资源利用的线程池管理、确保数据可见性的内存模型分析,以及防止竞态条件的各种锁管理机制。这些工具共同支持开发在共享内存中保持一致状态转换的多线程应用。
Implements lock-free atomic operations for basic types and references to ensure thread-safe mutations.
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
Implements spinlocks and atomic primitives to manage thread synchronization and prevent race conditions during debugging tasks.
This library provides a framework for instrumenting Java applications to track performance and system-level statistics. It enables the definition and collection of metrics such as counters, gauges, and histograms, while automatically capturing runtime health indicators like memory usage, thread activity, and garbage collection performance. The project distinguishes itself through a registry-based aggregation model that decouples metric recording from data exposition. It supports thread-safe atomic instrumentation for high-frequency data collection and offers flexible export mechanisms, includ
Uses low-overhead atomic primitives to record high-frequency performance data across concurrent threads.