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
LOC counts exclude comments. Library counts files physically under Libraries/Threading.
Single File counts
SaneCppThreading.h.
Standalone counts SaneCppThreadingStandalone.h and intentionally includes dependency
payloads.
| Metric | Header | Source | Sum |
|---|---|---|---|
| Library | 433 | 926 | 1359 |
| Single File | 1088 | 1102 | 2190 |
| Standalone | 1088 | 1102 | 2190 |