XNSim/XNCore/XNThreadManager_p.h

66 lines
1.1 KiB
C
Raw Permalink 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
#include "XNBaseFrameObject_p.h"
#include "XNThread.h"
/**
* @brief
*/
struct funInfo {
/**
* @brief
*/
XNCallBack fun;
2025-05-20 15:39:40 +08:00
/**
* @brief 线ID
*/
uint32_t threadID;
2025-04-28 12:25:20 +08:00
/**
* @brief
*/
2025-05-20 15:39:40 +08:00
uint32_t freqGroup;
2025-04-28 12:25:20 +08:00
/**
* @brief
*/
2025-05-20 15:39:40 +08:00
uint32_t RunPos;
2025-04-28 12:25:20 +08:00
/**
* @brief
*/
2025-05-20 15:39:40 +08:00
uint32_t RunPriority;
2025-04-28 12:25:20 +08:00
};
/**
* @brief
*/
2025-05-20 15:39:40 +08:00
using funInfoPtr = std::shared_ptr<funInfo>;
2025-04-28 12:25:20 +08:00
/**
* @brief 线
*/
2025-05-20 15:39:40 +08:00
struct XNThreadManagerPrivate : public XNBaseFrameObjectPrivate {
2025-04-28 12:25:20 +08:00
/**
* @brief 线
*/
RunStatus _eRunStatus;
/**
2025-05-20 15:39:40 +08:00
* @brief 线
2025-04-28 12:25:20 +08:00
*/
2025-05-20 15:39:40 +08:00
std::map<uint32_t, XNThreadPtr> threadList;
2025-04-28 12:25:20 +08:00
/**
2025-05-20 15:39:40 +08:00
* @brief
2025-04-28 12:25:20 +08:00
*/
2025-05-20 15:39:40 +08:00
std::map<uint32_t, std::vector<funInfoPtr> > funList;
2025-04-28 12:25:20 +08:00
/**
* @brief 线ID
*/
2025-05-20 15:39:40 +08:00
std::set<uint32_t> threadIDMap;
2025-04-28 12:25:20 +08:00
};