std::counting_semaphore<LeastMaxValue>::try_acquire_until
來自 cppreference.com
< cpp | thread | counting semaphore (計數訊號量)
template< class Clock, class Duration > bool try_acquire_until( const std::chrono::time_point<Clock, Duration>& abs_time ); |
(C++20 起) | |
嘗試原子地將內部計數器減 1,如果它大於 0;否則阻塞直到它大於 0 並能成功地將內部計數器減 1,或者 abs_time 時間點已經過去。
如果 std::chrono::is_clock_v<Clock> 為 false,則程式是非良構的。
目錄 |
[編輯] 前置條件
Clock
滿足 Clock 要求。
[編輯] 引數
abs_time | - | 函式必須等待的最早時間點,超過此時間點將導致失敗。 |
[編輯] 返回值
如果它成功地將內部計數器減 1 則返回 true,否則返回 false。
[編輯] 異常
可能會丟擲 std::system_error 或與超時相關的異常。
[編輯] 註釋
實際上,函式可能需要比 abs_time 更長的時間才會失敗。
[編輯] 參閱
增加內部計數器並解除阻塞獲取器 (公共成員函式) | |
遞減內部計數器或阻塞直到可以遞減 (公共成員函式) | |
嘗試遞減內部計數器而不阻塞 (公共成員函式) | |
嘗試遞減內部計數器,阻塞一段持續時間 (公共成員函式) |