请linux编程高手进来看一看:怎么实现毫秒级的延时?

alien75 2002-01-09 08:30:03
从所周知,sleep是秒延时,有没有毫秒级的延时函数?
我做一守护进程,用sleep没问题,为实现毫秒级就写了一个延时函数,代码如下:
delays(int timeout) //timeout的单位是毫秒
{
struct itimerval value,ovalue;
value.it_value.tv_sec = 0;
value.it_value.tv_usec = timeout*1000;
value.it_interval.tv_sec = 0;
value.it_interval.tv_usec = 0;
setitimer(ITIMER_REAL, &value, &ovalue);
pause();
}
但是一执行完pause就异常退出,没有执行delays的后续代码。如果放在普通程序中用就没问题,我估计是守护进程的原因,请问高手怎么办?或者用替换方法?
...全文
165 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangtao 2002-01-09
  • 打赏
  • 举报
回复
usleep()函数

微秒级

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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