永发信息网

linux 为什么用sleep 函数

答案:2  悬赏:30  手机版
解决时间 2021-02-13 15:20
  • 提问者网友:雪舞兮
  • 2021-02-13 11:44
linux 为什么用sleep 函数
最佳答案
  • 五星知识达人网友:佘樂
  • 2021-02-13 12:44
Linux下的sleep函数 要用的话得需要#include 函数原型:unsigned int sleep(unsigned int seconds); 参数: 挂起的时间数 ,单位为秒 返回值:若进程/线程挂起到参数所指定的时间则返回0,若有信号中断则返回剩余秒数。
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-02-13 14:23
sleep把进程的运行状态改为睡眠,将其从系统可执行队列去掉,这样系统就不会调度到该进程,不会分配cpu时间片。同时根据该进程的睡眠时间,将进程挂入相应的定时器队列中。 同时内核维持一个定时器队列,每一次时钟中断处理,都把当前到期的队列中的进程唤醒,加入到可运行进程队列中。 同时对所有挂入定时器队列中的进程时间值减1, [cpp] view plain copy clock_t start=clock(); sleep(5); clock_t end=clock(); float time=(float)(end-start)/clocks_per_sec; printf("sleep clock:%f\n",time); 首先获取当前系统滴答数a,然後再加上需要sleep的时长结合cpu时钟频率计算得到的滴答数b。再来一个while循环,循环体中不停获取当前滴答数,大於(a+b)时跳出循环,函数返回。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯