FreeBSD Manual Pages
std::experi...flex_barrier(3) C++ Standard Libarystd::experi...flex_barrier(3) NAME std::experimental::flex_barrier - std::experimental::flex_barrier Synopsis Defined in header <experimental/barrier> class flex_barrier; (concurrency TS) The class std::experimental::flex_barrier provides a thread-coordi- nation mechanism that allows a set of participating threads to block until an opera- tion is completed. Unlike std::experimental::latch, barriers are reusable; once the participating threads are released from a barrier's synchronization point, they can reuse the same barrier. A barrier has a completion phase, which is executed by one of the participating threads once all threads in the set of participating threads arrive at the synchronization point. The arrive_and_wait and arrive_and_drop calls synchronize with the start of the completion phase; the end of the completion phase synchronizes with the returns from all calls blocked by its completion. std::experimental::flex_barrier allows the user to control the com- pletion phase with a function object. If the function object returns -1, the set of participating threads is unchanged (and the same set of participating threads must arrive at the synchronization point in the next cycle); otherwise the set of par- ticipating threads becomes a new set with a size equal to the returned value N, and consists of the next N threads to arrive at the barrier's synchronization point. Users who do not need this functionality can use std::experimen- tal::barrier. Member functions constructor constructs a flex_barrier (public member function) destructor destroys the flex_barrier (public member function) operator= not copy-assignable [deleted] (public member function) arrive_and_wait arrive at the synchronization point and block (public member function) arrive at the synchronization point and remove the current thread arrive_and_drop from the set of participating threads (public member function) http://cppreference.com 2022.07.31 std::experi...flex_barrier(3)
NAME | Synopsis | Member functions
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::flex_barrier&sektion=3&manpath=FreeBSD+Ports+15.0>
