命名空间
变体
操作

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