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

FreeBSD Manual Pages

  
 
  

home | help
std::atomic_ref::wait(3)      C++ Standard Libary     std::atomic_ref::wait(3)

NAME
       std::atomic_ref::wait - std::atomic_ref::wait

Synopsis
	  void	    wait(     T	    old,     std::memory_order	   order     =
       (1) (since C++20)
				std::memory_order::seq_cst ) const noexcept;
	  void wait( T old, std::memory_order order =
				std::memory_order::seq_cst  )  const  volatile
       (2) (since C++20)
	  noexcept;

	  Performs atomic waiting operations. Behaves as if it repeatedly per-
       forms the
	  following steps:

	    *  Compare the value representation	of this->load(order) with that
       of old.
		 * If those are	equal, then blocks until *this is notified  by
       notify_one() or
		   notify_all(), or the	thread is unblocked spuriously.
		 * Otherwise, returns.

	  These	 functions are guaranteed to return only if value has changed,
       even if
	  underlying implementation unblocks spuriously.

	  If order is one of  std::memory_order::release  and  std::memory_or-
       der::acq_rel, the
	  behavior is undefined.

Parameters
	  old	 -  the	 value to check	the atomic_ref's object	no longer con-
       tains
	  order	- memory order constraints to enforce

Return value
	  (none)

Notes
	  This form of change-detection	is often more  efficient  than	simple
       polling or pure
	  spinlocks.

	  Due  to the ABA problem, transient changes from old to another value
       and back	to old
	  might	be missed, and not unblock.

	  The comparison is bitwise (similar to	 std::memcmp);	no  comparison
       operator	is used.
	  Padding bits that never participate in an object's value representa-
       tion are	ignored.

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  notify_one	    notifies at	least one thread waiting on the	atomic
       object
			    (public member function)
	  notify_all	    notifies all threads blocked waiting on the	atomic
       object
			    (public member function)
	  atomic_notify_one notifies a thread blocked in atomic_wait
	  (C++20)	    (function template)
	  atomic_notify_all notifies all threads blocked in atomic_wait
	  (C++20)	    (function template)

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	      std::atomic_ref::wait(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::atomic_ref::wait&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help