Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help