Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
A N-fold synchronisation latch using yield-wait until fulfilment.
Semantically, this barrier is similar to std::latch (introduced with C++20). It is intended for one-time use and blocks any invocation until N invocations occurred. The »wait« however is implemented as a spinning loop with std::this_thread::yield
, which places this implementation into a middle ground between a full-fledged blocking lock and a busy spinning log. The yield()
call is expected to de-prioritise the current thread behind all other threads currently amenable for active execution, without actually placing the thread into sleeping state. The coordination of the latch relies on Atomics.
Definition in file sync-barrier.hpp.
Classes | |
class | SyncBarrier |
A one time N-fold mutual synchronisation barrier. More... | |
Namespaces | |
lib | |
Implementation namespace for support and library code. | |