名稱空間
變體
操作

std::counting_semaphore<LeastMaxValue>::try_acquire_until

來自 cppreference.com
 
 
併發支援庫
執行緒
(C++11)
(C++20)
this_thread 名稱空間
(C++11)
(C++11)
(C++11)
協同取消
互斥
(C++11)
通用鎖管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
條件變數
(C++11)
訊號量
門閂和屏障
(C++20)
(C++20)
期值
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
危險指標
原子型別
(C++11)
(C++20)
原子型別的初始化
(C++11)(C++20 中已棄用)
(C++11)(C++20 中已棄用)
記憶體排序
(C++11)(C++26 中已棄用)
原子操作的自由函式
原子標誌的自由函式
 
 
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 更長的時間才會失敗。

[編輯] 參閱

增加內部計數器並解除阻塞獲取器
(公共成員函式) [編輯]
遞減內部計數器或阻塞直到可以遞減
(公共成員函式) [編輯]
嘗試遞減內部計數器而不阻塞
(公共成員函式) [編輯]
嘗試遞減內部計數器,阻塞一段持續時間
(公共成員函式) [編輯]