libevent 단순 응용_1_타이머
#include <event2/event.h>
#include <event2/util.h>
#include <iostream>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
using namespace std;
struct EventTimerParam
{
struct timeval tv;
void *ctx;
void *evt;
};
void libevent_tick_event_cb(evutil_socket_t fd, short events, void *ctx)
{
printf("function1 is called
");
EventTimerParam *pParam = (EventTimerParam*)ctx;
pParam->tv.tv_sec = 1;
evtimer_add((struct event*)pParam->evt, &pParam->tv);
}
int main()
{
struct event_base *base_;
base_ = event_base_new();
if(!base_)
{
cout<<"Can't open event base"<<endl;
return 1;
}
EventTimerParam *pTimerParam = (EventTimerParam*)malloc(sizeof(EventTimerParam));
memset(pTimerParam, 0, sizeof(EventTimerParam));
struct event *ev = evtimer_new(base_, libevent_tick_event_cb, pTimerParam);
pTimerParam->evt = ev;
pTimerParam->ctx = NULL;
pTimerParam->tv.tv_sec = 1;
evtimer_add(ev, &pTimerParam->tv);
int err = event_base_dispatch(base_);
//int err = event_base_loop(base_, EVLOOP_ONCE);
// int err = event_base_loop(base_, EVLOOP_NONBLOCK);
cout<<"err = "<< err <<endl;
return 0;
}
컴파일 방법:
g++ -o test_timer test_timer.cpp -levent
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바스크립트로 타이머 만들기JavaScript와 HTML만 사용하여 간단한 타이머를 만들어 보겠습니다. 먼저 인터페이스를 만들고 HTML만 사용하여 간단한 작업을 수행합니다. HTML 구조에서 시간 정보를 표시하기 위해 일부span가 생성되었...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.