linux下多定时器源码

该博客详细介绍了在Linux环境下如何创建和设置多个定时器,并使用SIGEV_THREAD方式进行信号通知。通过示例代码展示了如何定义处理函数,分别处理不同定时器触发的信号,以及如何设置定时器间隔和初始值。定时器的创建使用了`timer_create`,而时间设定则依赖于`timer_settime`。
摘要由CSDN通过智能技术生成
#include <time.h>
#include <signal.h>
#include<stdio.h>
#include<stdlib.h>
#include <unistd.h>
#include <string.h>
void handle(union sigval v)  
{  
    time_t t;  
    char p[32];  
 
    time(&t);  
    strftime(p, sizeof(p), "%T", localtime(&t));  
 
    printf("%s thread %lu, val = %d, signal captured.\n", p, pthread_self(), v.sival_int);    
    return;  
}  
 
void handlec(union sigval v)  //定时器2产生信号时调用的处理函数
{  
    time_t t;  
    char p[32];  
 
    time(&t);  
    strftime(p, sizeof(p), "%T", localtime(&t));  
 
    printf("%s thread %lu, val = %d, signal captured.\n", p, pthread_self(), v.sival_int);    
    return;  
}    
 
int main()    
{
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值