Libevent定时器使用

简介: Libevent定时器使用

本文用于记录libevent学习笔记,为阅读张亮的libevent源码解析一书的笔记;在这感谢前辈的分享;

#include <stdio.h>  
#include <iostream>  
// libevent头文件  
#include <event.h>  
using namespace std;  
// 定时事件回调函数  
void onTime(int sock, short event, void *arg)  
{  
    cout << "Game Over!" << 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;  
}  
相关文章
|
4月前
|
测试技术 PHP
Swoole 源码分析之 Timer 定时器模块
Swoole 中的毫秒精度的定时器。底层基于 `epoll_wait` 和 `setitimer` 实现,数据结构使用最小堆,可支持添加大量定时器。
75 0
Swoole 源码分析之 Timer 定时器模块
|
5月前
Qt定时器
Qt定时器
|
6月前
|
Linux API iOS开发
libevent介绍和使用
libevent 是一个开源的事件通知库,它提供了一个跨平台的抽象接口,libevnet处理的事件包括网络IO事件,定时事件以及信号事件。它可以在不同的操作系统上使用,包括Linux、Windows和Mac OS X等。libevent 的主要目的是提供高效的事件通知机制,用户无需关注平台检测处理事件的机制的差异,只需关注事件的具体处理。它可以用于编写服务器、客户端和其他网络应用程序。
136 0
|
6月前
|
缓存
muduo源码剖析之Timer定时器
Timer 类是 muduo 网络库中的一个定时器类,用于在指定的时间间隔后执行某个任务。Timer 类提供了一系列的方法来创建、启动、停止和删除定时器,以及设置定时器的时间间隔和回调函数等。在 muduo 网络库中,Timer 类被广泛应用于各种网络任务中,例如定期发送心跳包、更新缓存、清理资源等。通过使用 Timer 类,我们可以方便地实现定时任务,提高网络应用程序的可靠性和稳定性。:启动定时器,在指定的时间间隔后调用回调函数。:停止定时器,不再执行定时任务。
110 0
|
JavaScript API
Nodejs 定时器
Nodejs学习笔记
93 0
|
负载均衡 网络协议 C++
VS2010下libevent的如何使用
VS2010下libevent的如何使用
250 0
VS2010下libevent的如何使用
|
Java Linux 调度
在libevent中使用线程池
libevent 线程池
2475 0