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)
[編集] 関連項目
| (C11) |
ミューテックスがロックされるまでブロックする (関数) |
| (C11) |
ミューテックスがロックされるか、タイムアウトするまでブロックする (関数) |
| (C11) |
ミューテックスのロックを解除する (関数) |
| C++ ドキュメント: mutex::try_lock
| |
| C++ ドキュメント: timed_mutex::try_lock
| |
| C++ ドキュメント: recursive_mutex::try_lock
| |
| C++ ドキュメント: recursive_timed_mutex::try_lock
| |