Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16826
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 87
  • 用 户 组: 普通用户
  • 注册时间: 2017-05-12 16:45
文章分类

全部博文(7)

文章存档

2021年(1)

2017年(6)

我的朋友
最近访客

分类: C/C++

2017-05-31 19:32:20

这是一个简单的定时任务实现案例

点击(此处)折叠或打开

  1. #include <sys/types.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <stdio.h>
  5. #include <signal.h>
  6. #include <time.h>

  7. static int alarm_time = 0;

  8. void sigalarm_handler(int sig)
  9. {
  10.     printf("sigalarm_handler, sig=%d\n", sig);
  11.     alarm(alarm_time);
  12. }


  13. bool timer(sighandler_t handler, int sec)
  14. {
  15.     if (signal(SIGALRM, handler) == SIG_ERR)
  16.         return false;
  17.     alarm_time = sec;
  18.     alarm(sec);
  19.     return true;
  20. }


  21. int main()
  22. {
  23.     timer(sigalarm_handler, 3);
  24.     while (1)
  25.     {
  26.         printf("sleep\n");
  27.         sleep(1);
  28.     }
  29.     return 0;











阅读(1031) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~