Namespaces
Variants

std::counting_semaphore<LeastMaxValue>:: try_acquire_for

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 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)