名稱空間
變體
操作

std::unique_lock<Mutex>::try_lock_until

來自 cppreference.com
< cpp‎ | thread‎ | unique lock
 
 
併發支援庫
執行緒
(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 中已棄用)
原子操作的自由函式
原子標誌的自由函式
 
 
template< class Clock, class Duration >
bool try_lock_until( const std::chrono::time_point<Clock, Duration>& timeout_time );
(C++11 起)

嘗試鎖定(即,取得)關聯互斥的所有權。阻塞直到指定timeout_time到達或成功獲取鎖,以先發生者為準。成功獲取鎖時返回true,否則返回false。可能會阻塞超過timeout_time

實際上呼叫mutex()->try_lock_until(timeout_time)

如果沒有關聯的互斥鎖,或者互斥鎖已經被同一執行緒鎖定,則丟擲std::system_error

Clock必須滿足Clock要求。如果std::chrono::is_clock_v<Clock>false,則程式格式錯誤。(C++20 起)

目錄

[編輯] 引數

timeout_time - 最大阻塞時間點

[編輯] 返回值

如果成功獲取互斥鎖的所有權,則為true,否則為false

[編輯] 異常

  • mutex()->try_lock_until(timeout_time)丟擲的任何異常。

[編輯] 示例

[編輯] 參閱

鎖定(即獲取)關聯的互斥量
(public member function) [編輯]
嘗試鎖定(即獲取)關聯的互斥量而不阻塞
(public member function) [編輯]
嘗試鎖定(即,取得)關聯的TimedLockable互斥鎖,如果在指定時間持續時間內互斥鎖不可用則返回
(public member function) [編輯]
解鎖(即釋放)關聯的互斥量
(public member function) [編輯]