|
MSTL 1.4.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
线程管理和相关操作 更多...
类 | |
| class | scoped_thread |
| 作用域线程类 更多... | |
| class | thread |
| 线程类 更多... | |
函数 | |
| MSTL_ALWAYS_INLINE_INLINE int64_t | current_cpu () noexcept |
| 获取当前CPU核心编号 | |
| MSTL_ALWAYS_INLINE_INLINE void | yield () noexcept |
| 让出当前线程的时间片 | |
| MSTL_ALWAYS_INLINE_INLINE void | relax () noexcept |
| 线程放松 | |
| MSTL_ALWAYS_INLINE_INLINE void | relax (const int count) noexcept |
| 根据计数进行线程放松 | |
| MSTL_ALWAYS_INLINE_INLINE void | sleep_for_ms (uint32_t milliseconds) noexcept |
| 睡眠指定毫秒数 | |
| void MSTL_API | sleep_for_ms (uint32_t ms, bool busy_wait) noexcept |
| 精确睡眠指定毫秒数 | |
| void MSTL_API | sleep_for_us (uint64_t ms) noexcept |
| 精确睡眠指定微秒数 | |
| void MSTL_API | sleep_for_ns (uint64_t ns) noexcept |
| 精确睡眠指定纳秒数 | |
| bool MSTL_API | affinity (size_t cpu_mask) noexcept |
| 设置线程的CPU亲和性 | |
| bool MSTL_API | priority (int priority) noexcept |
| 设置线程优先级 | |
| MSTL_ALWAYS_INLINE_INLINE thread::id | id () noexcept |
| 获取当前线程标识符 | |
| template<typename Clock, typename Dur> | |
| void | sleep_until (const time_point< Clock, Dur > &time) |
| 使当前线程睡眠直到指定时间点 | |
| template<typename Rep, typename Period> | |
| void | sleep_for (const duration< Rep, Period > time) |
| 使当前线程睡眠指定时间 | |
线程管理和相关操作
|
noexcept |
设置线程的CPU亲和性
| cpu_mask | CPU掩码,每个位表示一个CPU核心 |
设置当前线程可以在哪些CPU核心上运行。
|
noexcept |
|
noexcept |
|
noexcept |
设置线程优先级
| priority | 优先级值 |
设置当前线程的调度优先级。
引用了 MSTL_END_NAMESPACE__, MSTL_END_THIS_THREAD__ , 以及 priority().
被这些函数引用 priority().
|
noexcept |
|
noexcept |
根据计数进行线程放松
| count | 放松计数 |
根据计数值选择不同程度的放松策略:
在文件 this_thread.hpp 第 102 行定义.
引用了 count().
| void sleep_for | ( | const duration< Rep, Period > | time | ) |
使当前线程睡眠指定时间
| Rep | 数值类型 |
| Period | 时间单位比例 |
| time | 要睡眠的时间 |
在文件 duration.hpp 第 906 行定义.
引用了 _INNER, duration< Rep, Period >::count() , 以及 duration< Rep, Period >::zero().
被这些函数引用 sleep_until().
|
noexcept |
|
noexcept |
精确睡眠指定毫秒数
| ms | 要睡眠的毫秒数 |
| busy_wait | 是否使用忙等待获得更高精度 |
提供相对精确的睡眠功能。当use_busy_wait为true时,使用忙等待+系统睡眠组合 以获得更高的精度,但会增加CPU使用率。为false时使用纯系统睡眠。
|
noexcept |
精确睡眠指定纳秒数
| ns | 要睡眠的纳秒数 |
提供纳秒级精度的睡眠,主要用于极短时间延迟。
|
noexcept |
精确睡眠指定微秒数
| ms | 要睡眠的微秒数 |
提供微秒级精度的睡眠,主要用于短时间延迟。
| void sleep_until | ( | const time_point< Clock, Dur > & | time | ) |
使当前线程睡眠直到指定时间点
| Clock | 时钟类型 |
| Dur | 持续时间类型 |
| time | 要睡眠到的时间点 |
跨平台的线程睡眠函数,支持稳定时钟和非稳定时钟。
在文件 clocks.hpp 第 176 行定义.
引用了 _THIS_THREAD , 以及 sleep_for().
|
noexcept |