Namespaces
Variants

std::shared_lock<Mutex>:: try_lock_until

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
template < class Clock, class Duration >
bool try_lock_until ( const std:: chrono :: time_point < Clock,Duration > & timeout_time ) ;
(seit C++14)

Versucht, den zugehörigen Mutex im Shared-Modus zu sperren. Blockiert, bis der angegebene timeout_time erreicht wurde oder die Sperre erworben wurde, je nachdem, was zuerst eintritt. Bei erfolgreichem Sperrenrwerb wird true zurückgegeben, andernfalls false . Kann länger blockieren als bis timeout_time erreicht wurde.

Ruft effektiv mutex ( ) - > try_lock_shared_until ( timeout_time ) auf.

std::system_error wird ausgelöst, wenn kein assoziierter Mutex vorhanden ist oder wenn der Mutex bereits gesperrt ist.

Clock muss die Clock -Anforderungen erfüllen. Das Verhalten ist undefiniert, wenn Mutex nicht die SharedTimedLockable -Anforderungen erfüllt. Das Programm ist fehlerhaft, wenn std:: chrono :: is_clock_v < Clock > gleich false ist. (seit C++20)

Inhaltsverzeichnis

Parameter

timeout_time - maximaler Zeitpunkt, bis zu dem blockiert wird

Rückgabewert

true falls der Besitz des Mutex erfolgreich erlangt wurde, false andernfalls.

Ausnahmen

  • Alle Ausnahmen, die von mutex ( ) - > try_lock_shared_for ( timeout_time ) geworfen werden.

Beispiel

Siehe auch

sperrt den zugehörigen Mutex
(öffentliche Elementfunktion)
versucht, den zugehörigen Mutex zu sperren
(öffentliche Elementfunktion)
versucht, den zugehörigen Mutex für die angegebene Dauer zu sperren
(öffentliche Elementfunktion)
entsperrt den zugehörigen Mutex
(öffentliche Elementfunktion)
versucht, den zugehörigen TimedLockable Mutex zu sperren (d.h. übernimmt den Besitz), gibt zurück, wenn der Mutex bis zum Erreichen des angegebenen Zeitpunkts nicht verfügbar war
(öffentliche Elementfunktion von std::unique_lock<Mutex> )