?
? ????? PHP ??? ???? ??? ?? ??
在頭文件<threads.h>中定義 | ||
---|---|---|
int mtx_timedlock(mtx_t * restrict mutex,const struct timespec * restrict time_point); | (自C11以來) |
阻塞當前線程,直到 mutex 指向的互斥鎖被鎖定,或者直到達到time_point 指向的基于 TIME_UTC 的時間點。
如果當前線程已經鎖定了互斥鎖并且互斥鎖不是遞歸的,則該行為是未定義的。
如果互斥量不支持超時,則行為未定義。
先前對同一個互斥體上的 mtx_unlock 進行同步 - 使用此操作(如果此操作成功),并且對任何給定互斥體的所有鎖定/解鎖操作形成單個總體順序(類似于原子的修改順序)。
mux | - | 指向要鎖定的互斥體的指針 |
---|---|---|
time_point | - | 指向等待的超時時間 |
如果成功則返回 thrd_success,如果在互斥鎖被鎖定之前達到超時時間,則返回 thrd_timedout,如果發(fā)生錯誤則返回 thrd_error。
C11標準(ISO / IEC 9899:2011):
7.26.4.4 mtx_timedlock函數(shù)(p:381-382)
mtx_lock(C11) | 阻塞直到鎖定一個互斥量(函數(shù)) |
---|---|
mtx_trylock(C11) | 鎖定互斥或返回,如果已鎖定(功能) |
mtx_unlock(C11) | 解鎖互斥鎖(功能) |
| try_lock_until 的 C ++文檔 |