mtx_trylock
來自 cppreference.com
在標頭檔案 <threads.h> 中定義 |
||
int mtx_trylock( mtx_t *mutex ); |
(C11 起) | |
嘗試鎖定 mutex
指向的互斥量,不會阻塞。如果互斥量已被鎖定,則立即返回。
之前對同一互斥量進行的 mtx_unlock 呼叫與此操作(如果此操作成功)同步,並且任何給定互斥量的所有鎖定/解鎖操作形成一個單一的總順序(類似於原子的修改順序)
目錄 |
[編輯] 引數
mutex | - | 指向要鎖定的互斥量的指標 |
[編輯] 返回值
如果成功則返回 thrd_success,如果互斥量已被鎖定或由於獲取可用互斥量時發生虛假故障則返回 thrd_busy,如果發生錯誤則返回 thrd_error。
[編輯] 缺陷報告
以下行為改變的缺陷報告被追溯地應用於以前釋出的 C 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
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)
[編輯] 另請參閱
(C11) |
阻塞直到鎖定互斥體 (函式) |
(C11) |
阻塞直到鎖定互斥體或超時 (函式) |
(C11) |
解鎖互斥體 (函式) |
C++ 文件 for mutex::try_lock
| |
C++ 文件 for timed_mutex::try_lock
| |
C++ 文件 for recursive_mutex::try_lock
| |
C++ 文件 for recursive_timed_mutex::try_lock
|