mtx_timedlock
From cppreference.net
|
定义于头文件
<threads.h>
|
||
|
int
mtx_timedlock
(
mtx_t
*
restrict
mutex,
const struct timespec * restrict time_point ) ; |
(C11 起) | |
阻塞当前线程,直到指向的
mutex
被锁定,或达到由
time_point
指向的基于
TIME_UTC
的绝对日历时间点。
由于此函数接收绝对时间,如需使用持续时间,必须手动计算日历时间点。
如果当前线程已经锁定该互斥量且该互斥量不可递归,则行为未定义。
如果互斥锁不支持超时,则行为未定义。
对同一互斥量的先前 mtx_unlock 调用与此操作形成 同步关系 (若此操作成功),且所有针对特定互斥量的锁定/解锁操作构成单一全序(类似于原子变量的修改顺序)
目录 |
参数
| mutex | - | 指向要锁定的互斥锁的指针 |
| time_point | - | 指向等待超时的绝对日历时间点的指针 |
返回值
thrd_success 表示操作成功, thrd_timedout 表示在互斥锁被锁定前已达到超时时间, thrd_error 表示发生错误。
参考文献
- C17 标准 (ISO/IEC 9899:2018):
-
- 7.26.4.4 mtx_timedlock 函数 (p: 278)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.26.4.4 mtx_timedlock 函数 (p: 381-382)
参见
|
(C11)
|
以秒和纳秒表示的时间
(结构体) |
|
(C11)
|
阻塞直至锁定互斥锁
(函数) |
|
(C11)
|
锁定互斥锁,若已被锁定则立即返回而不阻塞
(函数) |
|
(C11)
|
解锁互斥锁
(函数) |
|
C++ 文档
for
timed_mutex::try_lock_until
|
|
|
C++ 文档
for
recursive_timed_mutex::try_lock_until
|
|
外部链接
| GNU GCC Libc 手册:ISO-C-Mutexes |