Spec-Zone.ru › C++

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 для неудачи.

См. также

release
увеличивает внутренний счётчик и разблокирует запрашивающие
(публичный член-функция)
acquire
уменьшает внутренний счётчик или блокируется до тех пор, пока это не сможет сделать
(публичный член-функция)
try_acquire
пытается уменьшить внутренний счётчик без блокировки
(публичный член-функция)
try_acquire_until
пытается уменьшить внутренний счётчик, блокируясь до определённого момента времени
(публичный член-функция)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API