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

FreeBSD Manual Pages

  
 
  

home | help
std::recurs...x::try_lock(3)  C++ Standard Libary std::recurs...x::try_lock(3)

NAME
       std::recursive_timed_mutex::try_lock	-     std::recursive_timed_mu-
       tex::try_lock

Synopsis
	  bool try_lock();  (since C++11)

	  Tries	to lock	the mutex. Returns immediately.	On successful lock ac-
       quisition returns
	  true,	otherwise returns false.

	  This function	is allowed to fail spuriously and return false even if
       the mutex is
	  not currently	locked by any other thread.

	  A thread may call try_lock on	a recursive mutex repeatedly. Success-
       ful calls to
	  try_lock increment the ownership count: the mutex will only  be  re-
       leased after the
	  thread makes a matching number of calls to unlock.

	  The  maximum number of levels	of ownership is	unspecified. A call to
       try_lock	will
	  return false if this number is exceeded.

	  Prior	unlock() operation on the same mutex synchronizes-with (as de-
       fined in
	  std::memory_order) this operation if	it  returns  true.  Note  that
       prior lock() does
	  not synchronize with this operation if it returns false.

Parameters
	  (none)

Return value
	  true if the lock was acquired	successfully, otherwise	false.

Exceptions
	  Throws nothing.

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  lock		 locks the mutex, blocks if the	mutex is not available
			 (public member	function)
			 tries	to  lock  the  mutex, returns if the mutex has
       been
	  try_lock_for	 unavailable for the specified timeout duration
			 (public member	function)
			 tries to lock the mutex, returns  if  the  mutex  has
       been
	  try_lock_until  unavailable  until  specified	 time  point  has been
       reached
			 (public member	function)
	  unlock	 unlocks the mutex
			 (public member	function)

http://cppreference.com		  2022.07.31	  std::recurs...x::try_lock(3)

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

home | help