std::counting_semaphore<LeastMaxValue>::try_acquire_for
template< class Rep, class Period > bool try_acquire_for( const std::chrono::duration<Rep, Period>& rel_time ); | (since C++20) |
Пытается атомарно уменьшить внутренний счётчик на 1 если он больше 0; в противном случае блокируется до тех пор, пока он не станет больше 0 и не сможет успешно уменьшить внутренний счётчик, или не истечёт rel_time период.
Предпосылки
(нет)
Параметры
| rel_time | - | минимальная длительность ожидания функции для ее неудачи |
Возвращаемое значение
true если внутренний счётчик был уменьшен, иначе false.
Исключения
Может вызвать std::system_error или исключение, связанное с истечением времени.
Примечания
На практике функция может занимать больше времени, чем rel_time для неудачи.
См. также
| увеличивает внутренний счётчик и разблокирует запрашивающие (публичный член-функция) |
|
| уменьшает внутренний счётчик или блокируется до тех пор, пока это не сможет сделать (публичный член-функция) |
|
| пытается уменьшить внутренний счётчик без блокировки (публичный член-функция) |
|
| пытается уменьшить внутренний счётчик, блокируясь до определённого момента времени (публичный член-функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/counting_semaphore/try_acquire_for