【开源Libevent篇章二】定时器的运用

一、 示例介绍


每隔一秒循环打印信息“Come On!”


二、 代码编译和运行结果


1. 编译命令: g++ -o timer timer.cpp -levent

2. 运行结果:

[root@f8s test_timer]# ./timer
Come On!
Come On!
Come On!
Come On!
Come On!


三、 代码展示


/*
 * libevent定时器事件的运用示例: 每隔一秒打印Come On!
 */
#include <stdio.h>  
#include <iostream>  
  
// libevent头文件  
#include <event.h>  
using namespace std;  
  
// 定时事件回调函数  
void onTime(int sock, short event, void *arg)  
{  
    cout << "Come On!" << endl;  
  
    struct timeval tv;  
    tv.tv_sec = 1;  
    tv.tv_usec = 0;  
    // 重新添加定时事件(定时事件触发后默认自动删除)  
    event_add((struct event*)arg, &tv);  
}  
  
int main()  
{  
    // 初始化  
    event_init();  
  
    struct event evTime;  
    // 设置定时事件  
    evtimer_set(&evTime, onTime, &evTime);  
  
    struct timeval tv;  
    tv.tv_sec = 1;  
    tv.tv_usec = 0;  
    // 添加定时事件  
    event_add(&evTime, &tv);  
  
    // 事件循环  
    event_dispatch();  
  
    return 0;  
}  


四、 编译问题


1. 问题现象

./timer: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

2. 解决办法

ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2   


五、 代码下载


点我


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值