std::shared_lock<Mutex>:: try_lock_until
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Shared locking | ||||
|
shared_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++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.
- 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 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>
)
|