libevent::事件::定时器2

Posted osbreak

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了libevent::事件::定时器2相关的知识,希望对你有一定的参考价值。

 

#define evtimer_new(b, cb, arg)        event_new((b), -1, 0, (cb), (arg))

 

技术分享图片
#include <cstdio>
#include <errno.h>
#include <sys/types.h>
#include <event.h>
#include <event2/event.h>
#include <event2/event_struct.h>
#include <event2/event-config.h>
#include <event2/util.h>

void do_timeout(evutil_socket_t fd, short event, void *arg)
{
    printf("do timeout (time: %ld)!
", time(NULL));
}

void create_timeout_event(struct event_base *base)
{
    struct event *ev;
    struct timeval timeout;
  
//将事件和event_base绑定
ev = event_new(base, -1, EV_PERSIST, do_timeout, NULL); if (ev) { timeout.tv_sec = 5; timeout.tv_usec = 0; event_add(ev, &timeout); } } int main(int argc, char **argv) { struct event_base *base; base = event_base_new(); if (!base) { printf("Error: Create an event base error! "); return -1; } create_timeout_event(base); event_base_dispatch(base); return (0); }
技术分享图片

 



以上是关于libevent::事件::定时器2的主要内容,如果未能解决你的问题,请参考以下文章

libevent::事件::定时器2

Libevent的IO复用技术和定时事件原理

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

浅析libevent

libevent

libevent总结学习