C++ 命名要求: TimedLockable (C++11 起)
來自 cppreference.com
TimedLockable 要求描述了為執行代理(執行緒、程序、任務)提供帶時間限制的獨佔阻塞語義的型別的特性。
目錄 |
[編輯] 要求
對於型別 L
而言,要滿足 TimedLockable,給定
-
rel_time
,一個 std::chrono::duration 特化型別的值,以及 -
abs_time
,一個 std::chrono::time_point 特化型別的值,
對於型別 L
的物件 m
,必須滿足以下條件:
表示式 | 效果 | 返回值 |
---|---|---|
m.try_lock_for(rel_time) | 阻塞給定持續時間 rel_time ,或直到獲取到 m 上的鎖。 |
如果獲取到鎖,則為 true,否則為 false。 |
m.try_lock_until(abs_time) | 阻塞直到到達給定時間點 abs_time ,或獲取到 m 上的鎖。 |
如果獲取到鎖,則為 true,否則為 false。 |
[編輯] 注意
try_lock_for
和 try_lock_until
成員函式在成功時會獲取 m 上的非共享鎖。
[編輯] 標準庫
以下標準庫型別滿足 TimedLockable
(C++11) |
提供互斥設施,實現帶超時的鎖定 (類) |
(C++11) |
提供互斥設施,可以被遞迴鎖定 被同一執行緒鎖定並實現帶超時的鎖定 (類) |
(C++14) |
提供共享互斥設施,並實現帶超時鎖 (類) |