mtx_trylock
From cppreference.net
|
定义于头文件
<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 函数 (页: 278-279)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.26.4.5 mtx_trylock 函数 (页: 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
|
|