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

FreeBSD Manual Pages

  
 
  

home | help
std::experi...ve_and_drop(3)  C++ Standard Libary std::experi...ve_and_drop(3)

NAME
       std::experimental::flex_barrier::arrive_and_drop	   -   std::experimen-
       tal::flex_barrier::arrive_and_drop

Synopsis
	  void arrive_and_drop();  (concurrency	TS)

	  Arrive at the	flex_barrier's synchronization point  and  remove  the
       current thread
	  from	the  set  of  participating threads. It	is unspecified whether
       this function
	  blocks until the completion phase has	ended. If the function blocks,
       the calling
	  thread may be	chosen to execute the completion phase.

	  The behavior is undefined if the calling thread is not in the	set of
       participating
	  threads of this flex_barrier.

	  Calls	to arrive_and_drop synchronizes	with the start of the  comple-
       tion phase of the
	  flex_barrier.	If the call blocks, then the completion	of the comple-
       tion phase
	  synchronizes with the	return from the	call.

	  Calls	 to  arrive_and_drop  and arrive_and_wait never	introduce data
       races with
	  themselves or	each other.

Exceptions
	  Throws nothing.

Notes
	  The completion phase will be executed	even  if  every	 participating
       thread calls
	  arrive_and_drop.

	  After	 a  thread  calls arrive_and_drop on a flex_barrier, it	cannot
       call any	member
	  function on that barrier except for  the  destructor,	 even  if  the
       function	object
	  invoked by the completion phase returns a positive value.

See also
	  arrive_and_wait arrive at the	synchronization	point and block
			  (public member function)

http://cppreference.com		  2022.07.31	  std::experi...ve_and_drop(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::flex_barrier::arrive_and_drop&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help