Library

Threading

Atomic, thread, thread pool, mutex, semaphore, barrier, rw-lock, condition variable

Usable
Dependencies

No library-level dependencies

SaneCppThreading.h is a library defining basic primitives for user-space threading and synchronization.

Dependencies

  • Dependencies: (none)
  • All dependencies: (none)

Dependency Graph

Features

Class Description
SC::Thread SC::Thread
SC::ThreadPool SC::ThreadPool
SC::Mutex SC::Mutex
SC::RWLock SC::RWLock
SC::Barrier SC::Barrier
SC::Semaphore SC::Semaphore
SC::ConditionVariable SC::ConditionVariable
SC::Atomic SC::Atomic
SC::EventObject SC::EventObject

Status

Usable All the main threading primitives are there.
The Atomic header is really only being implemented for a few data types and needs some love to extend and improve it.

Blog

Some relevant blog posts are:

Videos

This is the list of videos that have been recorded showing some of the internal thoughts that have been going into this library:

SC::Thread

SC::ThreadPool

SC::Mutex

SC::EventObject

SC::Atomic

SC::Semaphore

SC::RWLock

SC::Barrier

SC::ConditionVariable

Roadmap

Complete Features:

  • Support more types in Atomic

Statistics

Type Lines Of Code Comments Sum
Headers 409 250 659
Sources 916 168 1084
Sum 1325 418 1743