5 Repos
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 5 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.
Diese Java-Concurrency-Bibliothek bietet eine Suite von Werkzeugen zur Verwaltung von Multi-Threaded-Ausführung, Synchronisation und Speicherkonsistenz. Sie dient als umfassendes Framework zur Implementierung gleichzeitiger Ausführung durch lock-freie Atomics, thread-sichere Sammlungen, Task-Koordinations-Primitive und Worker-Pools. Das Projekt enthält ein dediziertes Thread-Synchronisations-Toolkit mit Latches, Barrieren und Semaphoren, um das Timing und die Reihenfolge gleichzeitiger Aufgaben zu koordinieren. Es bietet zudem eine Suite an Concurrent-Collections wie Maps, Queues und Listen, die Datenaustausch ohne manuelle Sperren ermöglichen, sowie ein Framework für atomare Operationen für lock-freie Updates von Basistypen und Referenzen. Die Bibliothek deckt breite Funktionsbereiche ab, einschließlich Thread-Pool-Management zur Optimierung der Ressourcennutzung, Speichermodell-Analyse zur Sicherstellung der Datensichtbarkeit und verschiedene Sperrverwaltungsmechanismen zur Vermeidung von Race Conditions. Diese Werkzeuge unterstützen gemeinsam die Entwicklung von Multi-Threaded-Anwendungen, die konsistente Zustandsübergänge über gemeinsam genutzten Speicher hinweg aufrechterhalten.
Implements lock-free atomic operations for basic types and references to ensure thread-safe mutations.