One Motor 0.5.1
RoboMaster全平台一站式电机驱动库
|
一个对底层线程实现(如 std::thread)的封装器。 更多...
#include <Othread.hpp>
Public 类型 | |
using | ThreadFunc = std::function<void()> |
线程执行函数的类型定义。 | |
Public 成员函数 | |
Othread (const ThreadFunc &func) noexcept | |
构造函数,创建一个新的线程并立即开始执行。 | |
Othread () noexcept | |
默认构造函数,创建一个空的线程对象,不开始执行。 | |
~Othread () | |
析构函数。 | |
Othread (const Othread &)=delete | |
Othread (Othread &&)=delete | |
Othread & | operator= (const Othread &)=delete |
Othread & | operator= (Othread &&)=delete |
bool | start (const ThreadFunc &func) noexcept |
启动线程执行。 | |
bool | join () noexcept |
等待线程执行完成。 | |
bool | detach () noexcept |
将线程从当前对象中分离。 | |
bool | joinable () const noexcept |
检查线程是否可加入。 | |
一个对底层线程实现(如 std::thread)的封装器。
此类提供了一个基本的线程接口,用于启动、加入(join)或分离(detach)线程。 它旨在简化线程管理,并确保在析构时线程能够被正确处理(默认尝试加入)。 此类是不可拷贝和不可移动的,以防止对底层线程句柄的意外操作。
|
explicitnoexcept |
构造函数,创建一个新的线程并立即开始执行。
func | 要在线程中执行的函数。 |
OneMotor::thread::Othread::~Othread | ( | ) |
析构函数。
如果线程是可加入的(joinable),则会自动尝试加入该线程。 如果加入失败,为了防止程序终止,它将尝试分离线程。
|
noexcept |
将线程从当前对象中分离。
分离后,线程将在后台独立运行,Othread对象不再拥有该线程。
true
;如果线程未启动、已加入或已分离,返回 false
。
|
noexcept |
等待线程执行完成。
true
;如果线程未启动、已加入或已分离,返回 false
。
|
nodiscardnoexcept |
检查线程是否可加入。
true
。
|
noexcept |
启动线程执行。
func | 要在线程中执行的函数。 |
true
;如果线程已启动或函数无效,返回 false
。