名前空間
変種
操作

mtx_trylock

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

mutex が指すミューテックスをブロックせずにロックしようとします。ミューテックスが既にロックされている場合はすぐに返します。

同じミューテックスに対する以前の mtx_unlock 呼び出しは、(この操作が成功した場合) この操作と *synchronize-with* の関係にあり、任意のミューテックスに対するすべてのロック/アンロック操作は、単一の全体的な順序を形成します (アトミックな変更順序に似ています)。

目次

[編集] パラメータ

mutex - ロックする mutex へのポインタ

[編集] 戻り値

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

[編集] 不具合報告

以下の動作変更を伴う欠陥報告が、以前に発行されたC規格に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
DR 470 C11 mtx_trylock は偽の失敗を許容されませんでした。 許可

[編集] 参考文献

  • C17標準 (ISO/IEC 9899:2018)
  • 7.26.4.5 The mtx_trylock function (p: 278-279)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.26.4.5 The mtx_trylock function (p: 382)

[編集] 関連項目

ミューテックスがロックされるまでブロックする
(関数) [編集]
ミューテックスがロックされるか、タイムアウトするまでブロックする
(関数) [編集]
ミューテックスのロックを解除する
(関数) [編集]
C++ ドキュメント: mutex::try_lock
C++ ドキュメント: timed_mutex::try_lock
C++ ドキュメント: recursive_mutex::try_lock
C++ ドキュメント: recursive_timed_mutex::try_lock
English 日本語 中文(简体) 中文(繁體)