libevent 定时器示例
程序执行结果:
每隔2秒,触发一次定时器。
(2)98行:evtimer_assign在event.h中定义如下:
再来看看event_assign函数:
ev 要初始化的事件对象
base 事件对象要指定到哪个even_base上
fd 文件描述符
type 事件类型
fn 事件触发时的回调函数
arg 回调函数传参
可以看到,evtimer_assign默认填充了2个参数:
fd为-1,因为定时器不需要fd;
type为0。
由于超时时间是在下面的event_add中设置,所以这里也不需要填。
(3)88行:以上执行结果,跟我们在osp中使用定时器的方法一样,先设置定时器,如果想要重新设置定时器,那么重新event_add。我们也可以通过设置定时器事件对象的类型为EV_PERSIST,使得这个定时器事件成为一个永久定时器,从而不需要在第88行中,等定时器重新触发后重新设置。
修改后的代码如下:
(4)libevent对定时器的管理:
定时器事件存放在mini-heap中(这个mini-heap好像改造过),key值是定时器事件的超时时间。
libevent 定时器示例的更多相关文章
- Libevent 定时器
先摘一点网上的介绍 libevent是一个事件触发的网络库,适用于windows.linux.bsd等多种平台,内部使用select.epoll.kqueue等系统调用管理事件机制.著名分布式缓存软件 ...
- libevent 定时器timer
libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库. 总体来说,libevent有下面一些特点和优势:* 事件驱动,高性能:* 轻量级,专注于网络: * 跨平 ...
- day 51 js-2 函数,对象,正则 (定时器示例)
本文转载自cnblogs.liwenzhou-----哪吒博客 先来一个定时器让我们看看函数的效果: <script src="/js/jquery-3.2.1.min.js" ...
- libevent 信号示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- C-Linux_定时器示例使用
#include <stdlib.h> #include <signal.h> ; static struct itimerval oldtv; struct itimerva ...
- boost库学习随记六:使用同步定时器、异步定时器、bind、成员函数回调处理、多线程的同步处理示例等
一.使用同步定时器 这个示例程序通过展示如何在一个定时器执行一个阻塞等待. //makefile #-------------------------------------------------- ...
- Unix_Linux系统定时器的应用(案例)
2014-05-05 Created By BaoXinjian
- 在学习JavaScript中用到的示例
jQuery老师博客 一.定时器示例 功能:让input的文本框,显示时间,并实时更新 逻辑思路: 1.先定义一个函数,用来把当前时间赋值给input.value 2.开始button设置点击事件,并 ...
- libevent基础知识
在线手册 • 官方网站:http://libevent.org/ • 官方手册:http://www.wangafu.net/~nickm/libevent-book/ • 官方下载:http://s ...
随机推荐
- Jsp,EL表达式的入门
Jsp,EL表达式的入门 *Servlet/JSP 是两种动态的WEB资源的两种技术 使用Servlet生成HTML的页面是可以的 response.getWriter("<form ...
- 乱码!Eclipse 的控制台console必须用GBK编码。
Eclipse 的控制台必须用GBK编码.所以条件1和条件4必须同时满足,否则运行的还是乱码. 条件1,Window | Preferences | Workspace | Text fi ...
- 在vs2005中使用SVN进行版本管理
1.软件准备 VisualSVN-Server-2.5.10.msi SVN服务端 WindowsXP-KB942288-v3-x86.exe XP中安装TortoiseSVNSVN1.8必须 Tor ...
- CSS3实现轮播图效果
CSS3实现轮播图主要是由css:background-position和css3:animation实现.且实现此轮播需要一张四个图横着相连的图片. 注(Internet Explorer 10.F ...
- [leetcode]_String to Integer (atoi)
非常考虑思维全面性的一道题,考验是否能够考虑本问题的方方面面. 题目:将一个string转换为int.实现函数atoi()的功能. 先应该明确atoi()有哪些特殊功能:(正常的正负数情况我就不列了) ...
- AppSetting ,connectionStrings配置节
<appSettings> <!-- 当前使用的学校代码 --> <add key="DefaultCompanyID" value="cs ...
- mariadb介绍
事务(Transaction):组织多个操作为一个整体,要么全部执行,要么全部不执行 “回滚” ,rollback SQL接口:sql语句分析器和优化器 表:为了满足范式设计要求,将一个数据集分拆为多 ...
- Ajax异步刷新局部页面的小李子
看到下面那幅图没有,我们要的是当点击确定以后,根据条形码搜索出商品信息,并且异步刷新右边页面:
- tp框架集成支付宝,中转页变成gbk编码
tp框架中集成支付宝的功能,将支付宝的demo例子存在到下图位置\Extend\Vendor\Alipay 生成支付订单 /** * 支付订单 */ public function pay() { h ...
- LinkedList存储一副扑克牌,实现洗牌功能。
package cd.itcast.runble; import java.util.LinkedList; import java.util.Random; /** * LinkedList存储一副 ...