mtx_trylock

来自cppreference.com
< c‎ | thread
在标头 <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 页)

参阅

阻塞到锁定互斥体为止
(函数)
阻塞到锁定互斥体或超时为止
(函数)
解锁互斥体
(函数)