初探Libev

本文介绍了libev++,一个高性能的事件驱动库,特别关注了ev_timer组件的使用。通过示例代码展示了如何创建并启动秒级和分钟级的定时器回调函数,帮助读者理解如何在C++中利用libev进行事件编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. libev++学习

libev是个高性能跨平台的事件驱动框架,支持io事件,超时事件,子进程状态改变通知,信号通知,文件状态改变通知,还能用来实现wait/notify机制。libev对每种监听事件都用一个ev_type类型的数据结构表示,如ev_io, ev_timer, ev_child, ev_async分别用来表示文件监听器, timeout监听器, 子进程状态监听器, 同步事件监听器.

ev_timer简单例子:

  1. #include <ev++.h>
    #include <unistd.h>
    
    void SecondTimeout(EV_P_ ev_timer *w, int revents)
    {
        ;//秒回调函数
    }
    void MinuteTimeout(EV_P_ ev_timer *w, int revents)
    {
        ;//分钟回调函数
    }
    
    int main(int argc,const char *argv[])
    {
        ev::default_loop loop;
    
        ev_timer second_watcher;
        
        ev_timer_init(&second_watcher, SecondTimeout, 0., 1);
        ev_timer_start(loop, &second_watcher);
    	
        ev_timer minute_watcher;
        ev_timer_init(&minute_watcher, MinuteTimeout, 0., 60);
        ev_timer_start(loop, &minute_watcher);
    	
        loop.run(0);
        return 0;
    }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值