如何使用Unix提供的间隔时钟器?(tricker_demo)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用Unix提供的间隔时钟器?(tricker_demo),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1160字,纯文字阅读大概需要2分钟。
内容图文
/ * ticker_demo.c
*演示了使用间隔计时器来生成reqular
*信号,这些信号又被捕获并用于倒计时
* /
#include <stdio.h>
#include <sys/time.h>
#include <signal.h>
int main()
{
void countdown(int);
signal(SIGALRM,countdown);
if(set_ticker(500)==-1)
perror("set_ticker");
else
while(1) pause();
return 0;
}
void countdown(int signum)
{
static int num=10;
printf("%d..",num--);
fflush(stdout);
if(num<0){
printf("DONE!\n");
exit(0);
}
}
/ * [来自set_ticker.c]
* set_ticker(number_of_milliseconds)
*安排间隔计时器定期发布SIGALRM
*错误时返回-1,确定为0
* arg(以毫秒为单位),转换为整秒和微秒
* /
int set_ticker( int n_msecs )
{
struct itimerval new_timeset;
long n_sec, n_usecs;
n_sec = n_msecs / 1000 ; /* int part */
n_usecs = ( n_msecs % 1000 ) * 1000L ; /* remainder */
new_timeset.it_interval.tv_sec = n_sec; /* set reload */
new_timeset.it_interval.tv_usec = n_usecs; /* new ticker value */
new_timeset.it_value.tv_sec = n_sec ; /* store this */
new_timeset.it_value.tv_usec = n_usecs ; /* and this */
return setitimer(ITIMER_REAL, &new_timeset, NULL);
}
内容总结
以上是互联网集市为您收集整理的如何使用Unix提供的间隔时钟器?(tricker_demo)全部内容,希望文章能够帮你解决如何使用Unix提供的间隔时钟器?(tricker_demo)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。