44 Resources
C/C++ concurrency Libraries
A modern thread pool implementation based on C++20
thread-pool A simple, functional thread pool implementation using pure C++20. Features Built entirely with C++20 Enqueue tasks with or without trackin
A high-performance and easy-to-use C++ network library.
pine A high-performance and easy-to-use C++ network library. Now this is just a toy library for education purpose, do not use in production. example A
[ICSE 2022] Controlled Concurrency Testing via Periodical Scheduling
(PERIOD is a controlled concurrency testing tool, where a scheduler explores the space of possible interleavings of a concurrent program looking for b
The RaftLib C++ library, streaming/dataflow concurrency via C++ iostream-like operators
RaftLib is a C++ Library for enabling stream/data-flow parallel computation. Using simple right shift operators (just like the C++ streams that you wo
C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)
Continuable is a C++14 library that provides full support for: lazy async continuation chaining based on callbacks (then) and expression templates, ca
SObjectizer: it's all about in-process message dispatching!
Travis CI NOTE! The further development of SObjectizer is moved to GitHub. NOTE! This is an experimental SObjectizer https://sourceforge.net/p/sobject
Rpmalloc - Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C
rpmalloc - General Purpose Memory Allocator This library provides a public domain cross platform lock free thread caching 16-byte aligned memory alloc
Awesome-lockfree - A collection of resources on wait-free and lock-free programming
Awesome Lock-Free A collection of resources on wait-free and lock-free programming. π₯ π₯ π₯ Even better resource from MattPD: C++ links: atomics, loc
Parallel-hashmap - A family of header-only, very fast and memory-friendly hashmap and btree containers.
The Parallel Hashmap Overview This repository aims to provide a set of excellent hash map implementations, as well as a btree alternative to std::map
Thread-pool - Thread pool implementation using c++11 threads
Table of Contents Introduction Build instructions Thread pool Queue Submit function Thread worker Usage example Use case#1 Use case#2 Use case#3 Futur
Mx - C++ coroutine await, yield, channels, i/o events (single header + link to boost)
mx C++11 coroutine await, yield, channels, i/o events (single header + link to boost). This was originally part of my c++ util library kit, but I'm se
Libgo - Go-style concurrency in C++11
libgo libgo -- a coroutine library and a parallel Programming Library Libgo is a stackful coroutine library for collaborative scheduling written in C+
Bikeshed - Lock free hierarchical work scheduler
Branch OSX / Linux / Windows master master bikeshed Lock free hierarchical work scheduler Builds with MSVC, Clang and GCC, header only, C99 compliant,
Cpp-concurrency - cpp implementation of golang style concurrency
cpp-concurrency C++ implementation of golang style concurrency Usage Use existing single header concurrency.hpp or run script to merge multiple header
Deadlockempire.github.io - The Deadlock Empire: Slay dragons, learn concurrency!
The Deadlock Empire A game that teaches locking and concurrency. It runs on https://deadlockempire.github.io. Contributing We gladly welcome all contr
π Coroutine-based concurrency library for PHP
English | δΈζ Swoole is an event-driven asynchronous & coroutine-based concurrency networking communication engine with high performance written in C++
The final project for the Udacity C++ Nanodegree Concurrency course
CPPND: Program a Concurrent Traffic Simulation This is the project for the fourth course in the Udacity C++ Nanodegree Program: Concurrency. Throughou
Laughably simple Actor concurrency framework for C++20
Light Actor Framework Concurrency is a breeze. Also a nightmare, if you ever used synchronization techniques. Mostly a nightmare, though. This tiny li
Open source PHP extension for Async IO, Coroutines and Fibers
Swoole is an event-driven asynchronous & coroutine-based concurrency networking communication engine with high performance written in C++ for PHP. Ope
A C++ library providing various concurrent data structures and reclamation schemes.
xenium xenium is a header-only library that provides a collection of concurrent data structures and memory reclamation algorithms. The data structures
A family of header-only, very fast and memory-friendly hashmap and btree containers.
The Parallel Hashmap Overview This repository aims to provide a set of excellent hash map implementations, as well as a btree alternative to std::map
A bounded multi-producer multi-consumer concurrent queue written in C++11
MPMCQueue.h A bounded multi-producer multi-consumer concurrent queue written in C++11. It's battle hardened and used daily in production: In the Frost
Task System presented in "Better Code: Concurrency - Sean Parent"
task_system task_system provides a task scheduler for modern C++. The scheduler manages an array of concurrent queues A task, when scheduled, is enque
CacheLib is a C++ library providing in-process high performance caching mechanism.
Pluggable in-process caching engine to build and scale high performance services
Yet Another Concurrency Library
YACLib YACLib (Yet Another Concurrency Library) is a C++ library for concurrent tasks execution. Documentation Install guide About dependencies Target
Design and Implementation of kernel level threads for xv6 operating system. Adding system call related to threading environment in xv6 along with userland threading library with one to one mapping and semaphore implementation as synchronisation primitive
xv6 Kernel Threads Kernel level support for threads (light weight processes) along with user land threading library as wrapper for creating threads an
A Rideshare Simulation built in C++, using OpenStreetMap data
My Capstone project for the C++ Nanodegree at Udacity, a rideshare simulator. It extends the concurrency project based on a traffic simulation, as well as taking in parts of the earlier route planning project, in order to simulate ridesharing apps that are able to pick up passengers
Complementary Concurrency Programs for course "Linux Kernel Internals"
Complementary Programs for course "Linux Kernel Internals" Project Listing tpool: A lightweight thread pool. tinync: A tiny nc implementation using co
HPX is a C++ Standard Library for Concurrency and Parallelism
HPX is a C++ Standard Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case.
A bounded single-producer single-consumer wait-free and lock-free queue written in C++11
SPSCQueue.h A single producer single consumer wait-free and lock-free fixed size queue written in C++11. Example SPSCQueueint q(2); auto t = std::th
A bounded multi-producer multi-consumer concurrent queue written in C++11
MPMCQueue.h A bounded multi-producer multi-consumer concurrent queue written in C++11. It's battle hardened and used daily in production: In the Frost
Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C
rpmalloc - General Purpose Memory Allocator This library provides a public domain cross platform lock free thread caching 16-byte aligned memory alloc
:copyright: Concurrent Programming Library (Coroutine) for C11
libconcurrent tiny asymmetric-coroutine library. Description asymmetric-coroutine bidirectional communication by yield_value/resume_value native conte
Your high performance web application C framework
facil.io is a C micro-framework for web applications. facil.io includes: A fast HTTP/1.1 and Websocket static file + application server. Support for c
ZeroMQ core engine in C++, implements ZMTP/3.1
ZeroMQ Welcome The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided
jemalloc websitejemalloc - General purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. [BSD] website
jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support. jemalloc first came
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
concurrencpp, the C++ concurrency library concurrencpp is a tasking library for C++ allowing developers to write highly concurrent applications easily
A header-only C++ library for task concurrency
transwarp Doxygen documentation transwarp is a header-only C++ library for task concurrency. It allows you to easily create a graph of tasks where eve
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
What is SObjectizer? What distinguishes SObjectizer? SObjectizer is not like TBB, taskflow or HPX Show me the code! HelloWorld example Ping-Pong examp
Go-style concurrency in C
LIBMILL Libmill is a library that introduces Go-style concurrency to C. Documentation For the documentation check the project website: http://libmill.
The libdispatch Project, (a.k.a. Grand Central Dispatch), for concurrency on multicore hardware
Grand Central Dispatch Grand Central Dispatch (GCD or libdispatch) provides comprehensive support for concurrent code execution on multicore hardware.
The C++ Standard Library for Parallelism and Concurrency
Documentation: latest, development (master) HPX HPX is a C++ Standard Library for Concurrency and Parallelism. It implements all of the corresponding
Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance concurrent systems developed in C99+.
Continuous Integration Drone Travis Cirrus Compilers tested in the past include gcc, clang, cygwin, icc, mingw32, mingw64 and suncc across all support
Async++ concurrency framework for C++11
Async++ Async++ is a lightweight concurrency framework for C++11. The concept was inspired by the Microsoft PPL library and the N3428 C++ standard pro