SaneCppThreading.h is a library defining basic primitives for user-space threading and synchronization.
Dependencies
- Dependencies: (none)
- All dependencies: (none)
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 |