Namespaces
Variants

mtx_trylock

From cppreference.net
ヘッダーで定義 <threads.h>
int mtx_trylock ( mtx_t * mutex ) ;
(C11以降)

mutex が指すミューテックスのロックを、ブロックせずに試みます。ミューテックスが既にロックされている場合は直ちに返ります。

同じミューテックスに対する事前の mtx_unlock 呼び出しは(この操作が成功した場合)、この操作と 同期する 。また、任意のミューテックスに対するすべてのロック/アンロック操作は単一の全順序を形成する(アトミックオブジェクトの変更順序と類似)

目次

パラメータ

mutex - ロックするミューテックスへのポインタ

戻り値

thrd_success 成功した場合、 thrd_busy ミューテックスが既にロックされている場合、または利用可能なミューテックスの取得に偽の失敗が発生した場合、 thrd_error エラーが発生した場合。

不具合報告

以下の動作変更に関する欠陥報告書は、以前に公開されたC規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
DR 470 C11 mtx_trylock はスプリアス失敗を許可されていなかった 許可

参考文献

  • C17規格 (ISO/IEC 9899:2018):
  • 7.26.4.5 mtx_trylock関数 (p: 278-279)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.26.4.5 mtx_trylock関数 (p: 382)

関連項目

ミューテックスをロックするまでブロックする
(関数)
ミューテックスをロックするかタイムアウトするまでブロックする
(関数)
ミューテックスをアンロックする
(関数)
C++ documentation for mutex::try_lock
C++ documentation for timed_mutex::try_lock
C++ documentation for recursive_mutex::try_lock
C++ documentation for recursive_timed_mutex::try_lock