linux 定时器 代码,linux C++ 定时器代码

linux C++ 定时器代码:#include 

#include 

#include 

using namespace std;

/*

union sigval

{

int sival_int; //integer value

void *sival_ptr; //pointer value

};

struct sigevent

{

int sigev_notify; //notification type

int sigev_signo; //signal number

union sigval   sigev_value; //signal value

void (*sigev_notify_function)(union sigval);

pthread_attr_t *sigev_notify_attributes;

};

*/

void func(union sigval v){

cout <

}

int main(){

timer_t timer;

struct sigevent evp;

memset(&evp, 0, sizeof(evp));

evp.sigev_value.sival_ptr = &timer;

evp.sigev_notify = SIGEV_THREAD;

evp.sigev_notify_function = func;

evp.sigev_signo = 0;

timer_create(CLOCK_REALTIME, &evp, &timer);

// it_value 一定要设置,不能为0

struct itimerspec ts;

ts.it_interval.tv_sec = 3;

ts.it_interval.tv_nsec = 0; //200ms

ts.it_value.tv_sec = 1;

ts.it_value.tv_nsec = 0; //200ms

timer_settime(timer, TIMER_ABSTIME, &ts, NULL);

while(1);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值