共用方式為


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,則行為是未定義的。

另請參閱

標頭檔參考
<mutex>