mtx_trylock
来自 cppreference.cn
                    
                                        
                    
                    
                                                            
                    | 在头文件  <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 | |


