名稱空間
變體
操作

C++ 命名要求: SharedLockable (自 C++14 起)

來自 cppreference.com
 
 
C++ 命名要求
基本
型別屬性
全庫範圍




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
(C++20)
隨機數
併發
SharedLockable(共享可鎖定)
(C++14)
(C++11)
Ranges
多維檢視
其他

 

SharedLockable 要求描述了為執行代理(即執行緒)提供共享阻塞語義的型別的最小特徵。

目錄

[編輯] 要求

為了使型別 L 成為 SharedLockable,對於型別 L 的物件 m,必須滿足以下條件:

表示式 前置條件 效果 返回值
m.lock_shared() 阻塞直到為當前執行代理(執行緒、程序、任務)獲取鎖。如果丟擲異常,則不獲取鎖。
m.try_lock_shared() 嘗試為當前執行代理(執行緒、程序、任務)獲取鎖,不阻塞。如果丟擲異常,則不獲取鎖。 如果獲取到鎖則為 true,否則為 false
m.unlock_shared() 當前執行代理持有 m 上的共享鎖。 釋放執行代理持有的共享鎖。

不丟擲異常。

[編輯] 共享鎖

對一個物件的鎖被稱為共享鎖,如果它是透過呼叫 lock_sharedtry_lock_sharedtry_lock_shared_fortry_lock_shared_until 成員函式獲得的。

[編輯] 標準庫

以下標準庫型別滿足 SharedLockable 要求

提供共享互斥設施
(類) [編輯]
提供共享互斥設施,並實現帶超時鎖
(類) [編輯]

[編輯] 另請參閱