unix软件定时器代码分享

 COBOL Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include 
#include < time.h>
#include /time.h>
#include 
#include 
#include 
void timer_callback_handler(int iSigNum)
{
    printf( "22222122\n");
}
void init_soft_timer(int init_sec, int inter_sec)
{
    signal(SIGALRM, timer_callback_handler);
    struct itimerval tm;
    tm.it_value.tv_sec = init_sec;
    tm.it_value.tv_usec =  0;    //如果想用微秒延时,请传参数
    tm.it_interval.tv_sec = inter_sec;
    tm.it_interval.tv_usec =  0//如果想用微秒延时,请传参数
     if(setitimer(ITIMER_REAL, &tm,  NULL) == -1) {
        perror( "setitimer error");
         exit(-1);
    }
}
int main()
{
    init_soft_timer( 10);
    while( 1) {
        sleep( 3);
        printf( "11111111111111111\n");
    }
     return  0;
}
如果17行赋值,则是周期性定时器,不赋值,则是单次定时器

你可能感兴趣的:(系统编程)