timed_mutex クラス
timed 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 の所有権を解放します。 |
要件
ヘッダー:<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
メソッドが mutex
の所有権の取得を試行する時間について、その最大値を指定する chrono::duration オブジェクト。
戻り値
メソッドが 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
を所有していない場合の動作は未定義です。