XNSim/XNCore/XNThread_p.h

77 lines
1.5 KiB
C
Raw Normal View History

2025-05-20 15:39:40 +08:00
#pragma once
#include "XNObject_p.h"
/**
* @brief 线
*/
struct XNThreadPrivate : public XNObjectPrivate {
/**
* @brief
*/
XNFrameworkPtr _framework;
/**
* @brief 线
*/
uint32_t _uPriority = 0;
/**
* @brief 线CPU亲和性掩码
* @details CPU核是否使用0使1使0x00000003使0,1CPU
*/
uint32_t _uAffinity = 0;
/**
* @brief 线
*/
double _setFreq = BASE_RUN_FREQ;
/**
* @brief 线
*/
std::vector<std::map<uint32_t, std::vector<XNCallBack> > > _funVec;
/**
* @brief pthread线程调度参数
*/
sched_param param;
/**
* @brief pthread线程属性
*/
pthread_attr_t attr;
/**
* @brief pthread线程
*/
pthread_t thread;
/**
* @brief 线
*/
PERIOD_INFO pinfo;
/**
* @brief 线
*/
pthread_mutex_t _mtx = PTHREAD_MUTEX_INITIALIZER;
/**
* @brief 线
*/
pthread_cond_t _cond = PTHREAD_COND_INITIALIZER;
/**
* @brief 线
*/
RunStatus _eRunStatus = RunStatus::NotStart;
/**
* @brief 线
*/
uint32_t _RunPosition = 0;
/**
* @brief 线
*/
int count = 0;
/**
* @brief 线
*/
timespec _lastRunTime;
/**
* @brief 线
*/
FAST_DDS_MACRO::DataWriter *writer;
/**
* @brief 线ID
*/
uint32_t _threadID = 0;
};