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;  
}  
相关文章
|
5月前
|
API 调度
【FreeRTOS】软件定时器的使用
【FreeRTOS】软件定时器的使用
118 0
|
4月前
Qt定时器
Qt定时器
|
3月前
|
测试技术 PHP
Swoole 源码分析之 Timer 定时器模块
Swoole 中的毫秒精度的定时器。底层基于 `epoll_wait` 和 `setitimer` 实现,数据结构使用最小堆,可支持添加大量定时器。
65 0
Swoole 源码分析之 Timer 定时器模块
|
5月前
|
API 调度 芯片
FreeRTOS 延时函数和软件定时器 详解
FreeRTOS 延时函数和软件定时器 详解
FreeRTOS 延时函数和软件定时器 详解
|
5月前
|
Linux API iOS开发
libevent介绍和使用
libevent 是一个开源的事件通知库,它提供了一个跨平台的抽象接口,libevnet处理的事件包括网络IO事件,定时事件以及信号事件。它可以在不同的操作系统上使用,包括Linux、Windows和Mac OS X等。libevent 的主要目的是提供高效的事件通知机制,用户无需关注平台检测处理事件的机制的差异,只需关注事件的具体处理。它可以用于编写服务器、客户端和其他网络应用程序。
128 0
7-FreeRTOS软件定时器
7-FreeRTOS软件定时器
|
JavaScript API
Nodejs 定时器
Nodejs学习笔记
90 0
|
前端开发 JavaScript
34、定时器
setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。
141 0
|
C#
C#中的三种定时器总结
C#中的三种定时器总结
362 0
C#中的三种定时器总结