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 The mtx_trylock function (第 278-279 页)
 
- C11 标准(ISO/IEC 9899:2011):
- 7.26.4.5 The mtx_trylock function (第 382 页)
 
参阅
| (C11) | 阻塞到锁定互斥为止 (函数) | 
| (C11) | 阻塞到锁定互斥或时限经过为止 (函数) | 
| (C11) | 解锁互斥 (函数) |