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 | 应用于 | 已发布的行为 | 正确行为 |
---|---|---|---|
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
|