睡眠系统调用及其时间参数

Geo*_*rge 0 process c sleep thread

假设我们正在编写一个调用 sleep() 函数的 C 程序。例如,通过调用 sleep(7),调用线程将休眠 7 秒。

我的问题是:考虑到每个进程在 CPU 上都有自己的量子时间,因为有许多进程连续运行,线程会在我们的时间/时钟 7 秒后唤醒,还是可能需要更长的时间?

roa*_*ima 5

的定义sleep(3)允许调用指定时间之前之后返回:

描述 sleep() 使调用线程休眠,直到秒秒过去或信号到达而不会被忽略。

所以我们有这些可能的场景

  1. 呼叫被一个未捕获的信号中断。sleep()在指定时间之前立即返回
  2. 通话圆满完成,但系统太忙,有一段时间无法安排您的任务
  3. 调用令人满意地完成并放回运行队列并立即执行