#include <event.h>
#include <iostream>
using namespace std;
struct event ev; //事件
struct timeval tv; //定时器
/*事件处理函数,cb=callback*/
void time_cb(int fd,short _event,void *argc)
{
cout<<"timer wakeup"<<endl;
event_add(&ev,&tv);/*重新添加定时器*/
}
int main()
{
WSADATA WSAData; /*初始化WINDOWS socket库*/
WSAStartup(0x101, &WSAData);
struct event_base *base = event_init();//初始化libevent库,相当于初始化一个Reactior,就可以注册事件了.
tv.tv_sec=10; //间隔
tv.tv_usec=0;
evtimer_set(&ev,time_cb,NULL);//初始化关注的事件,并设置回调函数
//等价于event_set(&ev, -1, 0, timer_cb, NULL);
event_add(&ev,&tv);//注册事件 相当于调用Reactor::register_handler()函数注册事件
event_base_dispatch(base);//进入消息循环和消息分发
}
相关文章
- Cocos2d-x学习笔记(六) 定时器Schedule的简单应用
- libevent的简单应用
- Spring+Quartz 定时器的简单应用
- Mac OS X Server下的“简单”应用服务器设置?
- Libevent应用 (零) Libevent简单介绍与安装
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句
- wxPython定时器wx.Timer简单应用实例
- libevent简单应用:设置定时器
- Linux 高精度定时器hrtimers简单介绍和应用场景
- SysTick定时器的一个简单应用