命名空间
变体
操作

mtx_lock

来自 cppreference.cn
< c‎ | thread
定义于头文件 <threads.h>
int mtx_lock( mtx_t* mutex );
(自 C11 起)

阻塞当前线程,直到由 mutex 指向的互斥锁被锁定。

如果当前线程已经锁定了互斥锁,且该互斥锁不是递归锁,则行为未定义。

在同一互斥锁上先前调用的 mtx_unlock 与此操作同步,并且任何给定互斥锁上的所有锁定/解锁操作形成单个总顺序(类似于原子操作的修改顺序)

内容

[编辑] 参数

mutex - 指向要锁定的互斥锁的指针

[编辑] 返回值

如果成功,则为 thrd_success,否则为 thrd_error

[编辑] 参考文献

  • C17 标准 (ISO/IEC 9899:2018)
  • 7.26.4.3 mtx_lock 函数 (p: 278)
  • C11 标准 (ISO/IEC 9899:2011)
  • 7.26.4.3 mtx_lock 函数 (p: 381)

[编辑] 参见

阻塞直到锁定互斥锁或超时
(函数) [编辑]
锁定互斥锁或在已锁定时不阻塞直接返回
(函数) [编辑]
解锁互斥锁
(函数) [编辑]
C++ 文档 关于 mutex::lock
C++ 文档 关于 timed_mutex::lock
C++ 文档 关于 recursive_mutex::lock
C++ 文档 关于 recursive_timed_mutex::lock