std::counting_semaphore<LeastMaxValue>:: try_acquire_for
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Operations | ||||
|
counting_semaphore::try_acquire_for
|
||||
| Constants | ||||
|
template
<
class
Rep,
class
Period
>
bool try_acquire_for ( const std:: chrono :: duration < Rep, Period > & rel_time ) ; |
(seit C++20) | |
Versucht, den internen Zähler atomar um 1 zu dekrementieren, falls er größer als 0 ist; andernfalls blockiert er, bis er größer als 0 ist und der interne Zähler erfolgreich dekrementiert werden kann, oder die rel_time -Dauer überschritten wurde.
Inhaltsverzeichnis |
Vorbedingungen
(keine)
Parameter
| rel_time | - | die minimale Dauer, die die Funktion warten muss, damit sie fehlschlägt |
Rückgabewert
true wenn es den internen Zähler dekrementiert hat, andernfalls false .
Ausnahmen
Kann std::system_error oder eine timeout-bezogene Ausnahme werfen.
Hinweise
In der Praxis kann die Funktion länger als rel_time benötigen, um fehlzuschlagen.
Siehe auch
|
erhöht den internen Zähler und gibt blockierte Akquisiteure frei
(öffentliche Elementfunktion) |
|
|
dekrementiert den internen Zähler oder blockiert, bis dies möglich ist
(öffentliche Elementfunktion) |
|
|
versucht, den internen Zähler ohne Blockierung zu dekrementieren
(öffentliche Elementfunktion) |
|
|
versucht, den internen Zähler zu dekrementieren, blockiert bis zu einem Zeitpunkt
(öffentliche Elementfunktion) |