|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
MSTL快速用户空间互斥锁 更多...
#include "MSTL/core/typeinfo/type_traits.hpp"类型定义 | |
| using | platform_wait_t |
| 平台等待类型别名 | |
枚举 | |
| enum class | futex_wait_flags : platform_wait_t { futex_wait_flags::private_flag = 0 , futex_wait_flags::wait = 0 , futex_wait_flags::wake = 1 , futex_wait_flags::wait_bitset = 9 , futex_wait_flags::wake_bitset = 10 , futex_wait_flags::wait_private = wait | private_flag , futex_wait_flags::wake_private = wake | private_flag , futex_wait_flags::wait_bitset_private = wait_bitset | private_flag , futex_wait_flags::wake_bitset_private = wake_bitset | private_flag , futex_wait_flags::bitset_match_any = -1 } |
| FUTEX操作标志枚举 更多... | |
函数 | |
| void MSTL_API | futex_wait (void *addr, platform_wait_t value) noexcept |
| 无限期等待FUTEX | |
| bool MSTL_API | futex_wait_until (void *addr, platform_wait_t value, bool has_timeout, int64_t sec, int64_t ns, bool is_monotonic=false) |
| 等待FUTEX直到指定时间点或条件满足 | |
| void MSTL_API | futex_notify (void *addr, bool all) noexcept |
| 通知等待的线程 | |
变量 | |
| template<typename T> | |
| MSTL_INLINE17 constexpr bool | platform_wait_valid_v |
| 检查类型是否适用于平台等待操作 | |
MSTL快速用户空间互斥锁
此文件提供了FUTEX(Fast Userspace muTEX)的跨平台封装,用于实现高效的同步原语。 FUTEX是Linux独有的高性能同步机制,这里提供了跨平台的统一接口。
在文件 futex.hpp 中定义.