zoukankan      html  css  js  c++  java
  • libevent学习笔记 —— 第一个程序:计时器

    用libevent写个定时器其实步骤不多:

    1、初始化libevent

    2、设置事件

    3、添加事件

    4、进入循环

    由于定时事件触发之后,默认自动删除,所以如果要一直计时,则要在回调函数中重新添加定时事件。

     1  ///
     2  /// @file    timer.cc
     3  /// @author  marrs(chenchengxi993@gmail.com)
     4  /// @date    2017-10-18 21:14:38
     5  ///
     6  
     7 #include <iostream>
     8 #include "event.h"
     9 
    10 using namespace std;
    11 
    12 void timer(int fd, short event, void *ev) //timer 函数
    13 {
    14     cout << "timer..." << endl;
    15     struct timeval tv;
    16     tv.tv_sec = 1;
    17     tv.tv_usec = 0;
    18 
    19     // 重新添加定时事件(定时事件触发后默认自动删除)
    20     event_add((struct event*)ev, &tv);
    21 }
    22 
    23 int main()
    24 {
    25     struct event ev;
    26     struct timeval tv;
    27     tv.tv_sec = 1;
    28     tv.tv_usec = 0;
    29     
    30     //1.初始化libevent
    31     event_init();
    32 
    33     //2.设置定时事件
    34     evtimer_set(&ev,timer,&ev);    
    35 
    36     //3.添加定时事件
    37     event_add(&ev,&tv);
    38 
    39     //4.进入循环
    40     event_dispatch();
    41 
    42     return 0;
    43 }
  • 相关阅读:
    jTopo——js库
    node.js
    php 入门笔记
    D3 入门笔记
    webpack笔记
    React.js
    Grunt等前端自动化构建工具
    vue3.0的新特性
    electron-builder 打包流程
    vue里面如何下载图片,如何下载文件
  • 原文地址:https://www.cnblogs.com/chinxi/p/7689424.html
Copyright © 2011-2022 走看看