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) | 解锁互斥体 (函数) |
mutex::try_lock 的 C++ 文档 | |
timed_mutex::try_lock 的 C++ 文档 | |
recursive_mutex::try_lock 的 C++ 文档 | |
recursive_timed_mutex::try_lock 的 C++ 文档 |