home | help
std::shared...y_lock_until(3)  C++ Standard Libary std::shared...y_lock_until(3)

NAME
     std::shared_timed_mutex::try_lock_until	   -	   std::shared_timed_mu-
     tex::try_lock_until

Synopsis
	template< class Clock, class Duration >
	bool  try_lock_until(  const  std::chrono::time_point<Clock,  Duration>&
     (since C++14)
	timeout_time );

	Tries  to  lock  the mutex. Blocks until specified timeout_time has been
     reached
	(timeout) or the lock is acquired  (owns  the  mutex),	whichever  comes
     first. On
	successful lock acquisition returns true, otherwise returns false.

	If   timeout_time   has  already  passed,  this  function  behaves  like
     try_lock().

	Clock must meet the Clock requirements.
	The program is ill-formed if std::chrono::is_clock_v<Clock> is false.
	(since C++20)

	The standard recommends that the clock tied to timeout_time be used,  in
     which case
	adjustments  of  the clock may be taken into account. Thus, the duration
     of the block
	might be more or less than timeout_time - Clock::now() at  the	time  of
     the call,
	depending  on  the direction of the adjustment and whether it is honored
     by the
	implementation. The function also may block until after timeout_time has
     been
	reached due to process scheduling or resource contention delays.

	As with try_lock(), this function is allowed to fail spuriously and  re-
     turn false
	even  if  the mutex was not locked by any other thread at some point be-
     fore
	timeout_time.

	Prior unlock() operation on the same mutex synchronizes-with (as defined
     in
	std::memory_order) this operation if it returns true.

	If try_lock_until is called by a thread that already owns the  mutex  in
     any mode
	(shared or exclusive), the behavior is undefined.

Parameters
	timeout_time - maximum time point to block until

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

Exceptions
	Any exception thrown by timeout_time (clocks, time points, and durations
     provided by
	the standard library never throw).

Example
	 This section is incomplete
	 Reason: no example

See also
	lock	     locks the mutex, blocks if the mutex is not available
		     (public member function)
	try_lock     tries to lock the mutex, returns if the mutex is not avail-
     able
		     (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)
	unlock	     unlocks the mutex
		     (public member function)
	C documentation for
	mtx_timedlock

Category:
	  * Todo no example

http://cppreference.com 	   2024.06.10	   std::shared...y_lock_until(3)

home | help