timed_mutex 類別
表示「計時 mutex 類型」。 透過在程式內進行限時封鎖,可以使用這個類型的物件來強制執行互斥。
語法
class timed_mutex;
成員
公用建構函式
名稱 | 描述 |
---|---|
timed_mutex | 建構未鎖定的 timed_mutex 物件。 |
timed_mutex::~timed_mutex 解構函式 | 釋出 timed_mutex 物件所使用的任何資源。 |
公用方法
名稱 | 描述 |
---|---|
lock | 封鎖呼叫的執行緒,直到執行緒取得 mutex 的擁有權。 |
try_lock | 嘗試在不造成封鎖的情況下,取得 mutex 的擁有權。 |
try_lock_for | 嘗試取得所指定時間間隔內 mutex 的所有權。 |
try_lock_until | 嘗試取得所指定時間間隔之前 mutex 的所有權。 |
unlock | 釋放 mutex 的擁有權。 |
需求
Header:<mutex>
命名空間:std
timed_mutex::lock
封鎖呼叫的執行緒,直到執行緒取得 mutex
的擁有權。
void lock();
備註
如果呼叫的執行緒已經擁有 mutex
,則行為是未定義的。
timed_mutex::timed_mutex 建構函式
建構未鎖定的 timed_mutex
物件。
timed_mutex();
timed_mutex::~timed_mutex 解構函式
釋出 mutex
物件所使用的任何資源。
~timed_mutex();
備註
如果執行解構函式時物件已鎖定,則行為是未定義的。
timed_mutex::try_lock
嘗試在不造成封鎖的情況下,取得 mutex
的擁有權。
bool try_lock();
傳回值
如果方法成功取得 true
的擁有權,就是 mutex
,否則為 false
。
備註
如果呼叫的執行緒已經擁有 mutex
,則行為是未定義的。
timed_mutex::try_lock_for
嘗試在不造成封鎖的情況下,取得 mutex
的擁有權。
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);
參數
Rel_time
chrono::duration 物件,此物件會指定方法嘗試取得 mutex
擁有權的時間上限。
傳回值
如果方法成功取得 true
的擁有權,就是 mutex
,否則為 false
。
備註
如果呼叫的執行緒已經擁有 mutex
,則行為是未定義的。
timed_mutex::try_lock_until
嘗試在不造成封鎖的情況下,取得 mutex
的擁有權。
template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);
bool try_lock_until(const xtime* Abs_time);
參數
Abs_time
這個時間點所指定的臨界值一超過,方法就不再嘗試取得 mutex
的擁有權。
傳回值
如果方法成功取得 true
的擁有權,就是 mutex
,否則為 false
。
備註
如果呼叫的執行緒已經擁有 mutex
,則行為是未定義的。
timed_mutex::unlock
釋放 mutex
的擁有權。
void unlock();
備註
如果呼叫的執行緒未擁有 mutex
,則行為是未定義的。