|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
线程管理和相关操作 更多...
类 | |
| class | neforce::lazy_thread |
| 延迟启动线程类 更多... | |
| class | neforce::scope_thread |
| 作用域线程类 更多... | |
| class | neforce::thread |
| 线程类 更多... | |
| class | neforce::thread_tracker |
| 线程跟踪器类 更多... | |
线程管理和相关操作
|
noexcept |
|
noexcept |
|
inlinenoexcept |
获取当前CPU核心编号
返回当前线程正在运行的CPU核心的逻辑编号。
在文件 this_thread.hpp 第 60 行定义.
引用了 current_cpu().
被这些函数引用 current_cpu().
|
inlinenoexcept |
获取当前线程句柄
在文件 thread.hpp 第 461 行定义.
引用了 handle().
被这些函数引用 handle(), name() , 以及 set_name().
|
inlinenoexcept |
获取当前线程标识符
在文件 thread.hpp 第 449 行定义.
引用了 id().
被这些函数引用 neforce::tree_barrier< CmplFunc >::arrive() , 以及 id().
|
inlinenoexcept |
检查当前是否处于单线程模式
在文件 thread_tracker.hpp 第 86 行定义.
引用了 is_single_threaded() , 以及 neforce::thread_tracker::is_single_threaded().
被这些函数引用 is_single_threaded().
|
inline |
获取当前线程名称
| buffer | 存储名称的缓冲区 |
| size | 缓冲区大小 |
在文件 thread.hpp 第 475 行定义.
引用了 handle(), name(), neforce::thread::name() , 以及 neforce::size().
被这些函数引用 name() , 以及 set_name().
|
noexcept |
获取线程优先级
获取当前线程的调度优先级。 若获取失败,返回 0。
引用了 priority().
被这些函数引用 priority() , 以及 set_priority().
|
inlinenoexcept |
线程放松
使用CPU特定的暂停指令让当前线程短暂放松,减少CPU功耗。 适用于自旋锁等场景中的忙等待。
在文件 this_thread.hpp 第 87 行定义.
被这些函数引用 neforce::lock_free_queue< T >::clear(), neforce::lock_free_queue< T >::pop() , 以及 relax().
|
noexcept |
设置线程的 CPU 亲和性
| cpu_mask | CPU 掩码,每个位表示一个 CPU 核心 |
设置当前线程可以在哪些 CPU 核心上运行。
引用了 set_affinity().
被这些函数引用 set_affinity().
|
inline |
设置当前线程名称
| name | 线程名称 |
在文件 thread.hpp 第 484 行定义.
引用了 handle(), name(), set_name() , 以及 neforce::thread::set_name().
被这些函数引用 set_name().
|
noexcept |
设置线程优先级
| priority | 优先级值 |
设置当前线程的调度优先级。
引用了 priority() , 以及 set_priority().
被这些函数引用 set_priority().
| void neforce::this_thread::sleep_for | ( | const duration< Rep, Period > | time | ) |
使当前线程睡眠指定时间
| Rep | 数值类型 |
| Period | 时间单位比例 |
| time | 要睡眠的时间 |
在文件 duration.hpp 第 886 行定义.
引用了 neforce::duration< Rep, Period >::count() , 以及 sleep_for().
被这些函数引用 neforce::virtual_thread_task< T >::promise_type::await_transform(), neforce::virtual_thread_task< void >::promise_type::await_transform(), sleep_for() , 以及 sleep_until().
|
inlinenoexcept |
睡眠指定毫秒数
| milliseconds | 要睡眠的毫秒数 |
让当前线程睡眠指定的时间。
在文件 this_thread.hpp 第 121 行定义.
引用了 sleep_for_ms().
被这些函数引用 sleep_for_ms() , 以及 sleep_for_ms().
|
noexcept |
精确睡眠指定毫秒数
| ms | 要睡眠的毫秒数 |
| busy_wait | 是否使用忙等待获得更高精度 |
提供相对精确的睡眠功能。当use_busy_wait为true时,使用忙等待+系统睡眠组合 以获得更高的精度,但会增加CPU使用率。为false时使用纯系统睡眠。
引用了 sleep_for_ms().
|
noexcept |
精确睡眠指定纳秒数
| ns | 要睡眠的纳秒数 |
提供纳秒级精度的睡眠,主要用于极短时间延迟。
引用了 sleep_for_ns().
被这些函数引用 sleep_for_ns().
|
noexcept |
精确睡眠指定微秒数
| us | 要睡眠的微秒数 |
提供微秒级精度的睡眠,主要用于短时间延迟。
引用了 sleep_for_us().
被这些函数引用 sleep_for_us().
| void neforce::this_thread::sleep_until | ( | const time_point< Clock, Dur > & | time | ) |
使当前线程睡眠直到指定时间点
| Clock | 时钟类型 |
| Dur | 持续时间类型 |
| time | 要睡眠到的时间点 |
跨平台的线程睡眠函数,支持稳定时钟和非稳定时钟。
在文件 clocks.hpp 第 174 行定义.
引用了 sleep_for() , 以及 sleep_until().
被这些函数引用 sleep_until().
|
inlinenoexcept |
获取当前活动线程数量
在文件 thread_tracker.hpp 第 92 行定义.
引用了 thread_count() , 以及 neforce::thread_tracker::thread_count().
被这些函数引用 thread_count().
|
inlinenoexcept |