![]() | Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 7/2019; seestd::latch(since C++20) |
| Technical Specification | ||||
| Filesystem library(filesystem TS) | ||||
| Library fundamentals(library fundamentals TS) | ||||
| Library fundamentals 2(library fundamentals TS v2) | ||||
| Library fundamentals 3(library fundamentals TS v3) | ||||
| Extensions for parallelism(parallelism TS) | ||||
| Extensions for parallelism 2(parallelism TS v2) | ||||
| Extensions for concurrency(concurrency TS) | ||||
| Extensions for concurrency 2(concurrency TS v2) | ||||
| Concepts(concepts TS) | ||||
| Ranges(ranges TS) | ||||
| Reflection(reflection TS) | ||||
| Mathematical special functions(special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
| std::future extensions | ||||
| Latches and barriers | ||||
experimental::latch | ||||
| Atomic smart pointers | ||||
Defined in header <experimental/latch> | ||
class latch; | (concurrency TS) | |
Thelatch class is a downward counter of typeptrdiff_t which can beused to synchronize threads. The value of the counter is initialized on creation.Threads may block on the latch until the counter is decremented to zero. There isno possibility to increase or reset the counter, which makes the latch a single-usebarrier.
Unlikestd::experimental::barrier,std::experimental::latch can be decremented by a participating thread more than once.
constructs alatch(public member function)[edit] | |
| destroys the latch (public member function)[edit] | |
operator= [deleted] | not copy-assignable (public member function)[edit] |
decrements the counter by1 and blocks until it reaches zero(public member function)[edit] | |
| decrements the counter in a non-blocking manner (public member function)[edit] | |
| tests if the internal counter equals zero (public member function)[edit] | |
| blocks until the counter reaches zero (public member function)[edit] |