Namespaces
Variants

std::unique_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++11)

Versucht, den zugehörigen Mutex zu sperren (d.h. die Eigentümerschaft zu übernehmen). Blockiert bis zum Erreichen des angegebenen timeout_time oder bis die Sperre erworben wird, je nachdem, was zuerst eintritt. Bei erfolgreichem Sperrenrwerb wird true zurückgegeben, andernfalls false . Kann länger blockieren als timeout_time , bis dieser Zeitpunkt erreicht wurde.

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

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

Clock muss die Clock Anforderungen erfüllen. Das Programm ist fehlerhaft, wenn std:: chrono :: is_clock_v < Clock > 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 von mutex ( ) - > try_lock_until ( timeout_time ) geworfenen Ausnahmen.

Beispiel

Siehe auch

sperrt (d.h. übernimmt den Besitz) des zugehörigen Mutex
(öffentliche Elementfunktion)
versucht, den zugehörigen Mutex ohne Blockierung zu sperren (d.h. den Besitz zu übernehmen)
(öffentliche Elementfunktion)
versucht, den zugehörigen TimedLockable Mutex zu sperren (d.h. den Besitz zu übernehmen), gibt zurück, wenn der Mutex für die angegebene Zeitdauer nicht verfügbar war
(öffentliche Elementfunktion)
entsperrt (d.h. gibt den Besitz frei) des zugehörigen Mutex
(öffentliche Elementfunktion)