Module futex

Module futex 

Source
Expand description

Futex 系统调用常量和标志定义。

这些常量对应于 Linux 内核的 futex(2) 系统调用操作码和控制标志。

Structs§

RobustListHead
健壮列表头部结构体(struct robust_list_head)

Constants§

FUTEX_CLOCK_REALTIME
实时时钟标志:指定 FUTEX_WAIT 的超时时间应基于 CLOCK_REALTIME 计算。 (默认为 CLOCK_MONOTONIC)。
FUTEX_CMP_REQUEUE
比较并重排队操作:类似于 REQUEUE,但在重排队前检查 uaddr 处的值是否等于 val2。
FUTEX_FD
文件描述符操作(历史遗留,很少直接使用)。
FUTEX_LOCK_PI
锁定 PI 互斥体:尝试锁定 PI 互斥体。如果失败,等待并继承所有者的优先级。
FUTEX_PRIVATE
私有标志:指定 futex 仅用于本进程内的线程同步。 (使用私有 futexs 通常更快,因为它不需要内核维护跨进程的哈希表)。
FUTEX_REQUEUE
重排队操作:唤醒 val 个线程,并将剩余线程从 uaddr 重新排队到 uaddr2。
FUTEX_TRYLOCK_PI
尝试锁定 PI 互斥体:非阻塞地尝试锁定 PI 互斥体。
FUTEX_UNLOCK_PI
解锁 PI 互斥体:释放 PI 互斥体。如果存在等待者,唤醒优先级最高的线程。
FUTEX_WAIT
等待操作:如果 futex 地址处的值等于 val,则线程进入休眠。
FUTEX_WAIT_BITSET
等待位集操作:等待,但只对 val3(位集)中包含的比特进行等待。用于高效的条件变量。
FUTEX_WAKE
唤醒操作:唤醒至多 val 个等待在 futex 地址处的线程。
FUTEX_WAKE_OP
唤醒并执行操作:执行一个原子操作并根据结果唤醒线程。用于实现信号量。

Type Aliases§

FutexOp
类型定义:用于 Futex 系统调用操作码和标志。