# David-Haim/concurrencpp

Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all

Repository: https://github.com/David-Haim/concurrencpp
Canonical: https://ross.abutalabs.com/products/concurrencpp
Language: C++
License: MIT
License Family: permissive
Topics: cpp, await, async-await, executor-service, tasks, threadpool, timers, multithreading, concurrency, threading, cpp20, coroutines, asynchronous-programming, concurrent-programming, executors, coroutine, task-scheduler, scheduler, thread-safety
Last push: 2025-05-01T08:01:39+00:00

## Health v2 (maintenance only)
Score: 31/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 19, release rhythm 8, longevity 100
- inputs: {"age_days": 2430, "days_push": 489, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2760, forks 252 (observed 2026-08-28T04:07:18.432037+00:00)

## What it is
A modern C++ concurrency library built on C++20 coroutines, providing tasks, executors, timers, and result objects for writing asynchronous and parallel applications. It offers high-level abstractions that replace low-level primitives like std::thread and std::mutex.

## Use cases
- write async code with c++20 coroutines
- run tasks on a thread pool
- schedule delayed and periodic timers
- parallelize cpu-bound algorithms
- replace raw std::thread and mutex code
- compose concurrent tasks with when_all and when_any

## When to choose
- you use C++20 and want coroutine-based concurrency
- you need executor abstractions with built-in synchronization
- you want high-level task composition instead of manual thread management

## When to avoid
- you are stuck on pre-C++20 compilers
- you need GPU or heterogeneous computing concurrency
- you only need simple single-threaded async I/O already covered by your framework

## Facets
- artifact type: library
- maturity: stable
- function: concurrency, scheduling
- domain: developer-tools, performance
- platform: cpp, cross-platform, windows
- tags: coroutines, cpp20, executors, thread-pool, async-await, task-scheduler, timers, multithreading, algorithms, linux, macos

## Member repositories
- David-Haim/concurrencpp (main) score 31

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:18.432037+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T08:18:45.112141+00:00, confidence not recorded.
  - readme: https://github.com/David-Haim/concurrencpp (fetched 2026-08-28T04:07:18.432037+00:00, sha 920ce6bd89e6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
