命名空间
变体
操作

mtx_trylock

来自 cppreference.cn
< c‎ | thread
定义于头文件 <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)

[编辑] 参见

阻塞直到锁定互斥量
(函数) [编辑]
阻塞直到锁定互斥量或超时
(函数) [编辑]
解锁互斥量
(函数) [编辑]
C++ 文档 关于 mutex::try_lock
C++ 文档 关于 timed_mutex::try_lock
C++ 文档 关于 recursive_mutex::try_lock
C++ 文档 关于 recursive_timed_mutex::try_lock