unix下定时器的实现方法

comman_wang 2006-04-17 10:08:18
由于刚从windows转移到UNIX下,有一些问题向大家请教:

1、unix下定时器的实现一般都采用fork一个子进程或线程这种方式吗?

2、windows下的事件通知(Event)在unix 下如何实现?

谢谢!
...全文
248 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghi 2006-04-17
  • 打赏
  • 举报
回复
<UNIX系统编程>里面有你想要的例子
YanDong_8212 2006-04-17
  • 打赏
  • 举报
回复
这个是版主x86(大雪)以前贴的一段代码:
#include <stdio.h>
#include <unistd.h>
#include <signal.h>

char user[40];

//alarm 捕捉函数
void catch_alarm ( int sig_num)
{
printf ("Sorry,time limit reached. \n");

//清除定时器
alarm (0);
exit (0);
}

int main ( int argc , char *argv[] )
{
//设置信号回调
Signal ( SIGALARM,catch_alarm );
printf ("Your Username (10 seconds limit):");
//将缓冲内容输出
fflush(stdout);
// 设置10秒钟
alarm(10);
//等待用户输入
(char*)get(user);
printf("your username is = '%' \n'',user);
return 0;
}

YanDong_8212 2006-04-17
  • 打赏
  • 举报
回复
1、精度不高就用alarm就行了,精度高的话用timer_create,在子进程中,都将更新定时。
2、unix用信号来实现
具体请man alarm man timer_create
alaiyeshi 2006-04-17
  • 打赏
  • 举报
回复
linux程序开发
相信那里有你的答案

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧