Async Control Structures

Async Control Structures#

The original versions of these control structures work by blocking threads. The TMC versions work by suspending tasks.

Async Control Structures#

TMC Async Version

Original Blocking Version

tmc::atomic_condvar

std::atomic<T>::wait() / notify_*()

tmc::auto_reset_event

Windows AutoResetEvent

tmc::barrier

std::barrier

tmc::latch

std::latch

tmc::manual_reset_event

Windows ManualResetEvent

tmc::mutex

std::mutex

tmc::rw_lock

std::shared_mutex

tmc::semaphore

std::counting_semaphore