timer.h
来自「linux下同一个进程中多个定时器实现。简单描述下定时器模块的实现」· C头文件 代码 · 共 37 行
H
37 行
#ifndef _CTIMER_H_
#define _CTIMER_H_
#include "queue.h"
#include <sys/time.h>
class CTimer
{
friend class CTimerManager;
public:
typedef enum
{
TIMER_IDLE=0,
TIMER_ALIVE,
TIMER_TIMEOUT
}TimerState;
typedef enum
{
TIMER_ONCE=0,
TIMER_CIRCLE
}TimerType;
CTimer(unsigned int vinterval=0,void (*vfunc)(CTimer *,void *)=0,void *vdata=0,TimerType vtype=TIMER_ONCE);
void start();
void stop();
void reset(unsigned int vinterval);
~CTimer();
private:
unsigned int id_;
unsigned long m_interval;
unsigned int m_counter;
struct timeval m_endtime;
TimerState m_state;
TimerType m_type;
void (*m_func)(CTimer *,void *);
void * m_data;
TAILQ_ENTRY(CTimer) entry_;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?