std::experimental::barrier (3) - Linux Manuals
std::experimental::barrier: std::experimental::barrier
Command to display std::experimental::barrier
manual in Linux: $ man 3 std::experimental::barrier
NAME
std::experimental::barrier - std::experimental::barrier
Synopsis
Defined in header <experimental/barrier>
class barrier; (concurrency TS)
The class std::experimental::barrier provides a thread-coordination mechanism that allows a set of participating threads to block until an operation 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.
For std::experimental::barrier, the completion phase is empty. std::experimental::flex_barrier allows the user to control the completion phase with a function object.
The set of participating threads for a barrier constructed for num_threads threads is the first num_threads threads to arrive at its synchronization point after construction. The same set of threads (except for threads that called arrive_and_drop()) must arrive at the barrier each cycle.
Member functions
constructs a barrier
constructor (public member function)
destroys the barrier
destructor (public member function)
operator= not copy-assignable
(public member function)
[deleted]
arrive at the synchronization point and block
arrive_and_wait (public member function)
arrive at the synchronization point and remove the current thread from the set of participating threads
arrive_and_drop (public member function)
Pages related to std::experimental::barrier
- std::experimental::barrier::arrive_and_drop (3) - std::experimental::barrier::arrive_and_drop
- std::experimental::barrier::arrive_and_wait (3) - std::experimental::barrier::arrive_and_wait
- std::experimental::barrier::barrier (3) - std::experimental::barrier::barrier
- std::experimental::barrier::~barrier (3) - std::experimental::barrier::~barrier
- std::experimental::bad_any_cast (3) - std::experimental::bad_any_cast
- std::experimental::bad_optional_access (3) - std::experimental::bad_optional_access
- std::experimental::basic_string_view (3) - std::experimental::basic_string_view
- std::experimental::basic_string_view<CharT,Traits>::at (3) - std::experimental::basic_string_view<CharT,Traits>::at
- std::experimental::basic_string_view<CharT,Traits>::back (3) - std::experimental::basic_string_view<CharT,Traits>::back
- std::experimental::basic_string_view<CharT,Traits>::basic_string_view (3) - std::experimental::basic_string_view<CharT,Traits>::basic_string_view
- std::experimental::basic_string_view<CharT,Traits>::begin, (3) - std::experimental::basic_string_view<CharT,Traits>::begin,
- std::experimental::basic_string_view<CharT,Traits>::begin,std::experimental::basic_string_view<CharT,Traits>::cbegin (3) - std::experimental::basic_string_view<CharT,Traits>::begin,std::experimental::basic_string_view<CharT,Traits>::cbegin
- std::experimental::basic_string_view<CharT,Traits>::compare (3) - std::experimental::basic_string_view<CharT,Traits>::compare
- std::experimental::basic_string_view<CharT,Traits>::copy (3) - std::experimental::basic_string_view<CharT,Traits>::copy
- std::experimental::basic_string_view<CharT,Traits>::data (3) - std::experimental::basic_string_view<CharT,Traits>::data
- std::experimental::basic_string_view<CharT,Traits>::empty (3) - std::experimental::basic_string_view<CharT,Traits>::empty
- std::experimental::basic_string_view<CharT,Traits>::end, (3) - std::experimental::basic_string_view<CharT,Traits>::end,
- std::experimental::basic_string_view<CharT,Traits>::end,std::experimental::basic_string_view<CharT,Traits>::cend (3) - std::experimental::basic_string_view<CharT,Traits>::end,std::experimental::basic_string_view<CharT,Traits>::cend
- std::experimental::basic_string_view<CharT,Traits>::find (3) - std::experimental::basic_string_view<CharT,Traits>::find
- std::experimental::basic_string_view<CharT,Traits>::find_first_not_of (3) - std::experimental::basic_string_view<CharT,Traits>::find_first_not_of
- std::experimental::basic_string_view<CharT,Traits>::find_first_of (3) - std::experimental::basic_string_view<CharT,Traits>::find_first_of
- std::experimental::basic_string_view<CharT,Traits>::find_last_not_of (3) - std::experimental::basic_string_view<CharT,Traits>::find_last_not_of
- std::experimental::basic_string_view<CharT,Traits>::find_last_of (3) - std::experimental::basic_string_view<CharT,Traits>::find_last_of
- std::experimental::basic_string_view<CharT,Traits>::front (3) - std::experimental::basic_string_view<CharT,Traits>::front
- std::experimental::basic_string_view<CharT,Traits>::max_size (3) - std::experimental::basic_string_view<CharT,Traits>::max_size