C++ 命名要求: Lockable (自 C++11 起)
來自 cppreference.com
Lockable 要求擴充套件了 BasicLockable 要求,以包含嘗試鎖定。
目錄 |
[編輯] 要求
對於型別 L
要成為 Lockable,它必須滿足上述條件以及以下條件
表示式 | 效果 | 返回值 |
---|---|---|
m.try_lock() | 嘗試在不阻塞的情況下獲取當前執行代理(執行緒、程序、任務)的鎖。如果丟擲異常,則不會獲取鎖。 | 如果獲取了鎖,則為 true,否則為 false |
[編輯] 注意
try_lock
成員函式在成功時獲取對 m 的非共享鎖。
[編輯] 標準庫
以下標準庫型別滿足 Lockable 要求
(C++11) |
提供基本的互斥設施 (類) |
(C++11) |
提供互斥設施,可以被同一執行緒遞迴鎖定 (類) |
(C++11) |
提供互斥設施,可以被遞迴鎖定 被同一執行緒鎖定並實現帶超時的鎖定 (類) |
(C++17) |
提供共享互斥設施 (類) |
(C++14) |
提供共享互斥設施,並實現帶超時鎖 (類) |
(C++11) |
提供互斥設施,實現帶超時的鎖定 (類) |