名前空間
変種
操作

std::shared_lock<Mutex>::try_lock_for

From cppreference.com
< cpp‎ | thread‎ | shared 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)
future
(C++11)
(C++11)
(C++11)
(C++11)
安全なメモリ解放 (Safe Reclamation)
(C++26)
ハザードポインタ
アトミック型
(C++11)
(C++20)
アトミック型の初期化
(C++11)(C++20で非推奨)
(C++11)(C++20で非推奨)
メモリオーダー
(C++11)(C++26で非推奨)
アトミック操作のためのフリー関数
アトミックフラグのためのフリー関数
 
 
template< class Rep, class Period >
bool try_lock_for( const std::chrono::duration<Rep,Period>& timeout_duration );
(C++14以降)

関連するミューテックスを共有モードでロックしようとします。ロックの取得、または指定されたtimeout_durationが経過するまでブロックし、先に発生した方で処理を終了します。ロックの取得に成功した場合はtrueを返しますが、それ以外の場合はfalseを返します。実質的にmutex()->try_lock_shared_for(timeout_duration)を呼び出します。

スケジューリング遅延やリソース競合遅延のため、この関数は timeout_duration よりも長くブロックする可能性があります。

標準では、期間の測定に安定したクロックを使用することが推奨されています。実装が代わりにシステムクロックを使用する場合、待機時間もクロック調整の影響を受ける可能性があります。

関連するミューテックスがない場合、またはミューテックスがすでにロックされている場合は、std::system_error がスローされます。

MutexSharedTimedLockableの要件を満たさない場合、動作は未定義です。

目次

[編集] パラメータ

timeout_duration - 待機する最大期間

[編集] 戻り値

true ミューテックスの所有権が正常に取得された場合、false それ以外の場合。

[編集] 例外

  • mutex()->try_lock_shared_for(timeout_duration)によってスローされる可能性のある例外。

[編集]

[編集] 関連項目

指定された時間だけミューテックスが利用できない場合に戻る、関連付けられたTimedLockableミューテックスのロック(つまり、所有権の取得)を試みます。
(std::unique_lock<Mutex>のパブリックメンバー関数) [編集]
関連するミューテックスをロックする
(public member function) [編集]
関連するミューテックスのロックを試みる
(public member function) [編集]
指定された時点まで、関連するミューテックスのロックを試みる
(public member function) [編集]
関連するミューテックスのロックを解除する
(public member function) [編集]
English 日本語 中文(简体) 中文(繁體)