【发布时间】:2015-12-05 21:28:03
【问题描述】:
void alarm_handler(int signum){
printf("Buzz Buzz Buzz\n");
//set a new alarm for 1 second
alarm(1);
}
main()
{
//set up alarm handler
signal(SIGALRM, alarm_handler);
//schedule the first alarm
alarm(1);
//pause in a loop
while(1)
{
pause();
}
}
我有这段代码可以打印出“嗡嗡嗡嗡嗡” 我的问题是......无论如何都要跟踪闹钟的秒数......让我将闹钟设置为闹钟(5)。
我想做的是跟踪这 5 个... 因为它将每 5 秒打印一次..
在第 5 秒,警报会响起,可以调用另一个函数,将全局变量更改为 5,然后返回 0...
我想错了吗...我实现这个想法错了吗?..我看过计时器,但我不太确定如何设置计时器并跟踪计时器...
我的最终任务是每 5 秒打印一次……但最重要的是跟踪警报何时响起。我会使用一个全局变量在那一秒内将其设置为 5,然后将其设置回零..
任何想法..cmets..代码...推动方向非常感谢。 谢谢!
【问题讨论】:
-
printf()不是异步安全的。
标签: c timer pthreads signals mutex