建議使用 Visual Studio 2017

timed_mutex 類別

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

代表計時 mutex 類型。 此型別的物件用來強制透過封鎖程式內的時間限制的互斥。

class timed_mutex;

公用建構函式

名稱說明
timed_mutex:: timed_mutex 建構函式建構timed_mutex未鎖定的物件。
timed_mutex:: ~ timed_mutex 解構函式釋放任何資源,可供timed_mutex物件。

公用方法

名稱描述
timed_mutex:: lock 方法封鎖呼叫的執行緒,直到執行緒取得 mutex 的擁有權。
timed_mutex:: try_lock 方法嘗試在不造成封鎖的情況下,取得 mutex 的擁有權。
timed_mutex:: try_lock_for 方法嘗試取得所有權的mutex指定的時間間隔。
timed_mutex:: try_lock_until 方法嘗試取得所有權的mutex直到指定的時間。
timed_mutex:: unlock 方法釋放 mutex 的擁有權。

標頭︰ mutex

命名空間: std

封鎖呼叫的執行緒,直到執行緒取得 mutex 的擁有權。

void lock();

備註

如果呼叫的執行緒已經擁有 mutex,則行為是未定義的。

建構timed_mutex未鎖定的物件。

timed_mutex();

釋放任何資源,可供mutex物件。

~timed_mutex();

備註

如果執行解構函式時物件已鎖定,則行為是未定義的。

嘗試在不造成封鎖的情況下,取得 mutex 的擁有權。

bool try_lock();

傳回值

如果方法成功取得 true 的擁有權,就是 mutex,否則為 false

備註

如果呼叫的執行緒已經擁有 mutex,則行為是未定義的。

嘗試在不造成封鎖的情況下,取得 mutex 的擁有權。

template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);

參數

Rel_time
A chrono:: duration物件,指定最長時間,該方法會嘗試取得所有權的mutex

傳回值

如果方法成功取得 true 的擁有權,就是 mutex,否則為 false

備註

如果呼叫的執行緒已經擁有 mutex,則行為是未定義的。

嘗試在不造成封鎖的情況下,取得 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,則行為是未定義的。

釋放 mutex 的擁有權。

void unlock();

備註

如果呼叫的執行緒未擁有 mutex,則行為是未定義的。

標頭檔參考
<>>

顯示: