91 lines
2.1 KiB
C++
91 lines
2.1 KiB
C++
/*********************************************************************
|
|
*
|
|
* 文 件: TimerThread.h 多线程控制
|
|
*
|
|
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
|
*
|
|
* 概述:
|
|
* :
|
|
* :
|
|
*
|
|
* 版本历史
|
|
* 1.0 2010-09-01 echo_li 增加注释
|
|
*
|
|
*********************************************************************/
|
|
#ifndef H_TimerThread_H
|
|
#define H_TimerThread_H
|
|
|
|
#include <IceUtil/Time.h>
|
|
#include <IceUtil/Thread.h>
|
|
#include <log4cplus/LOG.h>
|
|
#include <common/Macro.h>
|
|
//#include <cold/GtmDefine.h>
|
|
|
|
|
|
using namespace IceUtil;
|
|
|
|
struct TMRINFO; /* Forward declaration */
|
|
|
|
#define MAX_TASKNAME 48
|
|
|
|
#define MAX_TIMER_SEQ 256
|
|
|
|
/*********************************************************************
|
|
* 类 名: TimerThread
|
|
* 版权所有: Shanghai Baosight Software Co., Ltd.
|
|
* 类 职 责:
|
|
* :
|
|
* :
|
|
* 版本历史
|
|
* 1.0 2010-09-01 echo_li 增加注释
|
|
*
|
|
*********************************************************************/
|
|
class TimerThread:public Thread
|
|
{
|
|
public:
|
|
TimerThread( struct TMRINFO *);
|
|
virtual ~TimerThread();
|
|
/**********************************************************************
|
|
* 概述: 线程启动
|
|
* 函数名: run
|
|
* 返回值: void
|
|
* 参数列表: 参数类型 取值范围 描述
|
|
*
|
|
* 版本历史
|
|
* 1.0 2010-09-01 echo_li 增加注释
|
|
*
|
|
**********************************************************************/
|
|
void run();
|
|
/**********************************************************************
|
|
* 概述: 线程停止
|
|
* 函数名: cancel
|
|
* 返回值: void
|
|
* 参数列表: 参数类型 取值范围 描述
|
|
*
|
|
* 版本历史
|
|
* 1.0 2010-09-01 echo_li 增加注释
|
|
*
|
|
**********************************************************************/
|
|
void cancel();
|
|
private:
|
|
struct TMRINFO *ptm;
|
|
int evtFreq;
|
|
int keepRun;
|
|
IceUtil::Time t;
|
|
};
|
|
//定时任务结定义
|
|
struct TMRINFO
|
|
{
|
|
char TaskName[MAX_TASKNAME];
|
|
int SwitchFact;
|
|
unsigned int DelayTime;
|
|
int LenBuf;
|
|
int TimeMethod;
|
|
char *mlc_buff;
|
|
Handle<TimerThread> tHDL;
|
|
IceUtil::ThreadControl tTC;
|
|
} ;
|
|
|
|
#endif
|
|
|