/** * @file XNThreadManager_p.h * @author jinchao * @brief 线程管理器类私有头文件 * @version 1.0 * @date 2024-11-07 * * @copyright Copyright (c) 2024 XN * */ #pragma once #include "XNBaseFrameObject_p.h" #include "XNThread.h" /** * @brief 周期性函数存储结构体 */ struct funInfo { /** * @brief 周期性函数包装器 */ XNCallBack fun; /** * @brief 线程ID */ uint32_t threadID; /** * @brief 运行频率组 */ uint32_t freqGroup; /** * @brief 运行节点 */ uint32_t RunPos; /** * @brief 运行优先级 */ uint32_t RunPriority; }; /** * @brief 声明周期性函数存储结构体的智能指针 */ using funInfoPtr = std::shared_ptr; /** * @brief 线程管理器类私有结构体 */ struct XNThreadManagerPrivate : public XNBaseFrameObjectPrivate { /** * @brief 所有线程运行状态 */ RunStatus _eRunStatus; /** * @brief 线程列表 */ std::map threadList; /** * @brief 周期性函数存储列表 */ std::map > funList; /** * @brief 线程ID */ std::set threadIDMap; };