⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.h

📁 linux下同一个进程中多个定时器实现。简单描述下定时器模块的实现
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -