📄 timer_manager.h
字号:
#ifndef __CTIMER_MANGER_H_
#define __CTIMER_MANGER_H_
#include "timer.h"
#include <pthread.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#define DEFULT_INTERVAL 1000
#define DEFAUL_REPAIR 20
class CTimerManager
{
public:
typedef enum
{
TIMER_MANAGER_STOP=0,
TIMER_MANAGER_START
}TimerManagerState;
static CTimerManager * instance();
void add_timer(CTimer * vtimer);
void remove_timer(CTimer * vtimer);
void start(unsigned long interval=DEFULT_INTERVAL,unsigned long repair=DEFAUL_REPAIR);
void stop();
void dump();
protected:
static void * process(void *);
private:
void add_timer_(CTimer * vtimer);
void remove_timer_(CTimer * vtimer);
CTimerManager();
static pthread_mutex_t m_mutex;
static CTimerManager * m_instance;
TimerManagerState m_state;
struct timeval m_interval;
struct timeval m_repair;
TAILQ_HEAD(,CTimer) list_;
static unsigned int mark;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -