mtx_lock
来自 cppreference.com
定义在头文件 <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)
[编辑] 参见
(C11) |
在锁定互斥锁或超时之前阻塞 (函数) |
(C11) |
锁定互斥锁或在已经锁定时不阻塞地返回 (函数) |
(C11) |
解锁互斥锁 (函数) |
C++ 文档 针对 mutex::lock
| |
C++ 文档 针对 timed_mutex::lock
| |
C++ 文档 针对 recursive_mutex::lock
| |
C++ 文档 针对 recursive_timed_mutex::lock
|