名稱空間
變體
操作

std::recursive_timed_mutex::try_lock

來自 cppreference.com
 
 
併發支援庫
執行緒
(C++11)
(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 中已棄用)
原子操作的自由函式
原子標誌的自由函式
 
 
bool try_lock() noexcept;
(C++11 起)

嘗試鎖定互斥體。立即返回。如果成功獲取鎖,則返回 true,否則返回 false

此函式可能虛假失敗並返回 false,即使互斥體當前未被任何其他執行緒鎖定。

執行緒可以對遞迴互斥體重複呼叫 try_lock。成功呼叫 try_lock 會增加所有權計數:互斥體只會在執行緒呼叫匹配數量的 unlock 後才被釋放。

所有權的最大層數是未指定的。如果超出此數字,則對 try_lock 的呼叫將返回 false

如果此操作返回 true,則在此互斥體上的先前 unlock() 操作與此操作同步(根據 std::memory_order 的定義)。請注意,如果此操作返回 false,則先前的 lock() 不與此操作同步。

目錄

[編輯] 引數

(無)

[編輯] 返回值

如果成功獲取鎖,則為 true,否則為 false

[編輯] 異常

不丟擲任何異常。

[編輯] 示例

[編輯] 參閱

鎖定互斥體,如果互斥體不可用則阻塞
(public member function) [編輯]
嘗試鎖定互斥鎖,如果互斥鎖在指定超時時間內不可用,則返回
指定超時持續時間不可用
(public member function) [編輯]
嘗試鎖定互斥鎖,如果互斥鎖在指定超時時間內不可用,則返回
在指定時間點之前不可用
(public member function) [編輯]
解鎖互斥體
(public member function) [編輯]
C documentation for mtx_trylock