恩,一个usleep的问题

kaisa001 2003-01-13 02:31:13
我在函数中调用usleep(1000),
循环1000次后,
void main(void){
printf("begin [%lu]\n",time(NULL));
for(int i=0;i<1000;i++){
usleep(1000); //
}
printf("end[%lu]\n",time(NULL));
}
按照道理,应该是1秒中啊,为什么结果是20s呢,是不是linuxe下的cpu唤醒要20ms啊,
谢谢!
...全文
124 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwunix 2003-01-13
  • 打赏
  • 举报
回复
Linux中最小时间单位为20ms,所以,当usleep中的参数小于20ms时,usleep()将按照20ms处理。

23,121

社区成员

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

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