home | help
std::experimental::barrier(3)  C++ Standard Libary std::experimental::barrier(3)

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 partic-
     ipating
	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  par-
     ticipating
	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  comple-
     tion 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
	constructor	constructs a barrier
			(public member function)
	destructor	destroys the 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 cur-
     rent thread
	arrive_and_drop from the set of participating threads
			(public member function)

http://cppreference.com 	   2024.06.10	   std::experimental::barrier(3)

home | help