名稱空間
變體
操作

C++ 命名要求: BasicLockable (C++11 起)

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




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
隨機數
併發
BasicLockable(基本可鎖定)
(C++11)
範圍 (Ranges)
多維檢視
其他

 

BasicLockable 要求描述了為執行代理(即執行緒)提供獨佔阻塞語義的型別的最小特性。

目錄

[編輯] 要求

對於型別 L 要滿足 BasicLockable,型別 L 的物件 m 必須滿足以下條件:

表示式 前置條件 效果
m.lock() 阻塞直到當前執行代理(執行緒、程序、任務)可以獲取鎖。如果丟擲異常,則不獲取鎖。
m.unlock() 當前執行代理持有 m 上的非共享鎖。 釋放執行代理持有的非共享鎖。

不丟擲異常。

[編輯] 非共享鎖

如果透過呼叫 locktry_locktry_lock_fortry_lock_until 成員函式獲取了物件上的鎖,則該鎖被稱為非共享鎖

[編輯] 標準庫

以下標準庫型別滿足 BasicLockable 要求:

(C++11)
提供基本的互斥設施
(類) [編輯]
提供互斥設施,可以被同一執行緒遞迴鎖定
(類) [編輯]
提供互斥設施,可以被遞迴鎖定
被同一執行緒鎖定並實現帶超時的鎖定
(類) [編輯]
提供共享互斥設施
(類) [編輯]
提供共享互斥設施,並實現帶超時鎖
(類) [編輯]
提供互斥設施,實現帶超時的鎖定
(類) [編輯]

[編輯] 參見