Namespaces
Variants

mtx_lock

From cppreference.net
定义于头文件 <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++ 文档 for mutex::lock
C++ 文档 for timed_mutex::lock
C++ 文档 for recursive_mutex::lock
C++ 文档 for recursive_timed_mutex::lock