名稱空間
變體
操作

std::counting_semaphore<LeastMaxValue>::try_acquire_for

來自 cppreference.com
 
 
併發支援庫
執行緒
(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 Rep, class Period >
bool try_acquire_for( const std::chrono::duration<Rep, Period>& rel_time );
(C++20 起)

嘗試原子地減少內部計數器 1,如果它大於 0 的話;否則阻塞直到它大於 0 且能成功減少內部計數器,或者超過 rel_time 時長。

目錄

[編輯] 前置條件

(無)

[編輯] 引數

rel_time - 函式必須等待到失敗的最小時長

[編輯] 返回值

如果它成功地將內部計數器減 1 則返回 true,否則返回 false

[編輯] 異常

可能丟擲 std::system_error 或與超時相關的異常。

[編輯] 注意

實踐中,函式可能花費比 rel_time 更長的時間才失敗。

[編輯] 參閱

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