16#include <zephyr/kernel.h>
19namespace OneMotor::Thread
27 template <
typename Rep,
typename Period>
28 void sleep_for(
const std::chrono::duration<Rep, Period>& duration)
noexcept
31 std::this_thread::sleep_for(duration);
33 auto us = std::chrono::duration_cast<std::chrono::microseconds>(duration).count();
112 [[nodiscard]]
bool joinable() const noexcept;
117 bool detached{
false};
118#ifdef ONE_MOTOR_LINUX
120 std::thread native_handle{};
122 static constexpr size_t StackSize = 1024;
123 K_KERNEL_STACK_MEMBER(stack_mem, StackSize);
124 mutable k_thread k_thread_handle{};
void sleep_for(const std::chrono::duration< Rep, Period > &duration) noexcept
使当前线程休眠指定的时间。
定义 Othread.hpp:28
Othread(ThreadFunc func) noexcept
构造函数,创建一个新的线程并立即开始执行。
定义 Z_Othread.cpp:14
bool detach() noexcept
将线程从当前对象中分离。
定义 L_Othread.cpp:80
bool join() noexcept
等待线程执行完成。
定义 L_Othread.cpp:58
bool joinable() const noexcept
检查线程是否可加入。
定义 L_Othread.cpp:53
Othread() noexcept
默认构造函数,创建一个空的线程对象,不开始执行。
std::function< void()> ThreadFunc
线程执行函数的类型定义。
定义 Othread.hpp:53
bool start(ThreadFunc &func) noexcept
启动线程执行。
定义 L_Othread.cpp:27