码迷,mamicode.com
首页 > 其他好文 > 详细

libevent学习笔记 —— 第一个程序:计时器

时间:2017-10-18 23:09:41      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:事件触发   use   计时   color   nbsp   pre   ios   using   style   

用libevent写个定时器其实步骤不多:

1、初始化libevent

2、设置事件

3、添加事件

4、进入循环

由于定时事件触发之后,默认自动删除,所以如果要一直计时,则要在回调函数中重新添加定时事件。

 1  ///
 2  /// @file    timer.cc
 3  /// @author  marrs(chenchengxi993@gmail.com)
 4  /// @date    2017-10-18 21:14:38
 5  ///
 6  
 7 #include <iostream>
 8 #include "event.h"
 9 
10 using namespace std;
11 
12 void timer(int fd, short event, void *ev) //timer 函数
13 {
14     cout << "timer..." << endl;
15     struct timeval tv;
16     tv.tv_sec = 1;
17     tv.tv_usec = 0;
18 
19     // 重新添加定时事件(定时事件触发后默认自动删除)
20     event_add((struct event*)ev, &tv);
21 }
22 
23 int main()
24 {
25     struct event ev;
26     struct timeval tv;
27     tv.tv_sec = 1;
28     tv.tv_usec = 0;
29     
30     //1.初始化libevent
31     event_init();
32 
33     //2.设置定时事件
34     evtimer_set(&ev,timer,&ev);    
35 
36     //3.添加定时事件
37     event_add(&ev,&tv);
38 
39     //4.进入循环
40     event_dispatch();
41 
42     return 0;
43 }

 

libevent学习笔记 —— 第一个程序:计时器

标签:事件触发   use   计时   color   nbsp   pre   ios   using   style   

原文地址:http://www.cnblogs.com/chinxi/p/7689424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!