std::unique_lock<Mutex>:: try_lock_until
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Locking | ||||
|
unique_lock::try_lock_until
|
||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
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.
- Wenn kein zugehöriger Mutex vorhanden ist, std::system_error mit einem Fehlercode von std::errc::operation_not_permitted .
- Wenn der Mutex bereits gesperrt ist, std::system_error mit einem Fehlercode von std::errc::resource_deadlock_would_occur .
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein 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) |