XNSim/XNCore/XNThreadManager/XNThreadManager_p.h

72 lines
1.3 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file XNThreadManager_p.h
* @author jinchao
* @brief 线
* @version 1.0
* @date 2024-11-07
*
* @copyright Copyright (c) 2024 XN
*
*/
#pragma once
2025-06-27 21:13:05 +08:00
#include "XNBaseFrameObject/XNBaseFrameObject_p.h"
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
namespace XNSim {
2025-04-28 12:25:20 +08:00
/**
* @brief
*/
2025-06-27 21:13:05 +08:00
struct XNFunInfo {
/**
* @brief
*/
XNCallBack fun;
/**
* @brief 线ID
*/
XN_UINT32 threadID;
/**
* @brief
*/
XN_UINT32 freqGroup;
/**
* @brief
*/
XN_UINT32 RunPos;
/**
* @brief
*/
XN_UINT32 RunPriority;
2025-04-28 12:25:20 +08:00
};
/**
* @brief
*/
2025-06-27 21:13:05 +08:00
using XNFunInfoPtr = std::shared_ptr<XNFunInfo>;
using XNFunInfoMap = std::map<XN_UINT32, std::vector<XNFunInfoPtr>>;
using XNThreadMap = std::map<XN_UINT32, XNThreadObjectPtr>;
using XNThreadIDSet = std::set<XN_UINT32>;
2025-04-28 12:25:20 +08:00
/**
* @brief 线
*/
2025-05-20 15:39:40 +08:00
struct XNThreadManagerPrivate : public XNBaseFrameObjectPrivate {
2025-06-27 21:13:05 +08:00
/**
* @brief 线
*/
RunStatus _eRunStatus;
/**
* @brief 线
*/
XNThreadMap _threadList;
/**
* @brief
*/
XNFunInfoMap _funList;
/**
* @brief 线ID
*/
XNThreadIDSet _threadIDMap;
2025-04-28 12:25:20 +08:00
};
2025-06-27 21:13:05 +08:00
} // namespace XNSim