64,676
社区成员
发帖
与我相关
我的任务
分享
class CM {
public:
CManagerPing();
virtual ~CManagerPing();
private:
int m_bthreadrunning;//线程是否运行
pthread_t m_threadid;
pthread_t m_threadidex;
public:
void StartWorkThread();//启动工作线程
void StopWorkThread();//停止工作线程
/*void RunWorkThread();// 运行工作线程(本来是在父类中的,现在把它移到子类中了)
void WorkFunction(int m_CheckExPing);//工作函数
};
void CM::StartWorkThread(){
m_bthreadrunning=1;
pthread_create(&m_threadid,NULL,ThreadForRun,this);
}
static void*ThreadForRun(void*arg){
CManagerPing*pManagerPing=(CManagerPing*)arg;
pManagerPing->RunWorkThread(); //这里这样写就肯定有问题了,不清楚这里该怎么改,肯定要调用子类中的RunWorkThread();
return arg;
}
class FM:public CM {
private:
//普通PING有关变量
LOCALIPLIST m_u;
SETSTRINGIP m_t;//发送队列
char m_m[16];
public:
void RunWorkThread();//运行工作线程
void WorkFunction(int m_CheckExPing);//工作函数,是否特殊PING