博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
libevent(一)定时器Demo
阅读量:7116 次
发布时间:2019-06-28

本文共 1029 字,大约阅读时间需要 3 分钟。

开始研究libevent,使用的版本是2.0.22。 

 

实现一个定时器:每2秒执行一次printf。

#include 
#include
#include
#include
#include
#include
int event_is_persistent;static void timeout_cb(int fd, short event, void *arg){ printf("run timeout_cb\n"); if (!event_is_persistent) { struct event *timeout = (struct event*)arg; struct timeval tv; tv.tv_sec = 2; tv.tv_usec = 0; event_add(timeout, &tv); }}int main(int argc, char **argv){ int flags; if (argc == 2 && !strcmp(argv[1], "-p")) { event_is_persistent = 1; flags = EV_PERSIST; } else { event_is_persistent = 0; flags = 0; } /* Initalize the event library */ struct event_base *base = event_base_new(); /* Initalize one event */ struct event timeout; event_assign(&timeout, base, -1, flags, timeout_cb, (void*) &timeout); struct timeval tv; tv.tv_sec = 2; tv.tv_usec = 0; event_add(&timeout, &tv); event_base_dispatch(base); return (0);}

 

参考资料:

转载于:https://www.cnblogs.com/gattaca/p/7680034.html

你可能感兴趣的文章
mvc area出现“找到多个与名为“Home”的控制器匹配的类型”错误的解决方法
查看>>
T-SQL事务编写
查看>>
Js定时执行函数方法setTimeout,clearTimeout用法及按钮addEventListener,attachEvent侦听事件...
查看>>
CGZip, a C++ wrapper for gzip methods
查看>>
使用AT指令给飞信号发短信=失败=[已经成功]
查看>>
Information Storage Management 认证题库题解系列 题21
查看>>
ExtJs3.3升级4.2
查看>>
列表上下滚动效果JS示例
查看>>
如何设计一门语言(一)——什么是坑(a)
查看>>
输入样例NYOJ 514 数字 1的个数
查看>>
博客属性10个非常不错的CSS技巧
查看>>
Windows 剪贴板的预定义格式
查看>>
linux修改文件权限和用户组管理小结
查看>>
将NavigationBar设置透明
查看>>
加域(Netdom)
查看>>
VB--"." 和 "!" ?
查看>>
Go Revel - Results(响应)
查看>>
关于ActiveMQ的配置
查看>>
c# WinForm 边框阴影窗体
查看>>
组策略--受限制的组
查看>>