推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

libevent的evtimer周期性任务的实现.docx

更新时间:2026-10-09 20:44:50 大小:37K 上传用户:潇潇江南查看TA发布的资源 标签:libeventevtimerperiodic timerEV_PERSISTevent-driven 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

libevent 的 evtimer:周期性任务的实现

定时器不只是倒计时

在事件驱动的程序里,定时器有两种用法:一次性定时和周期性定时。一次性定时器触发一次就失效;周期性定时器则反复触发,用于定期执行任务。

libevent 的 evtimer 提供了定时器的封装。这篇文章讲如何用 evtimer 实现周期性任务。

evtimer 的基础用法

evtimer 是 libevent 提供的定时器宏,是 event 的薄封装。

evtimer_new 创建一个定时器事件(fd 为 -1、类型带 EV_TIMEOUT)。evtimer_add 激活定时器,evtimer_del 取消定时器。

默认情况下,定时器是一次性的:触发一次后就失效。对一次性任务,直接使用即可。

周期性任务的两种实现

要实现周期性任务(定期执行),有两种方式。

第一种,用 EV_PERSIST 标志的定时器。在 event_new 时指定 EV_PERSIST,定时器触发后自动重新添加,持续监听。这适合周期固定的任务。

第二种,在回调里重新添加定时器。回调触发后,重新调用 evtimer_add 添加下一次触发。这适合周期可变或需要在回调里调整的任务。


部分文件列表

文件名 大小
libevent的evtimer周期性任务的实现.docx 37K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载