linux - 预计 sleep 时间(1)

标签 linux sleep

以 one 作为参数调用 sleep 的预期持续时间是多少?它是一些不超过 1 秒的随机时间吗?它是某个至少为一秒的随机时间吗?

场景:

  • 开发人员 A 编写代码,使用输出设备按顺序执行某些步骤。代码发货,A 离开。

  • 开发人员 B 从现场得知步骤 j 和 k 之间需要一秒的间隔。因此,他在这些步骤之间插入了对 sleep(1) 的调用。代码已交付,开发人员 B 离开。

  • 开发人员 C 想知道 sleep(1) 是否应该休眠足够长的时间,或者是否应该使用更高分辨率的方法来确保至少 1000 毫秒的延迟发生。

最佳答案

sleep() 仅保证进程将至少休眠指定的时间量,因此正如您所说的“至少为一秒的某个随机时间”。

man page 中提到了类似的行为对于 nanosleep:

nanosleep() suspends the execution of the calling thread until either at least the time specified in *req has elapsed...

您也可以在 this question 中找到答案有用。

关于linux - 预计 sleep 时间(1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623121/

相关文章:

c - 如何从 C/汇编中的内存地址执行函数?

c - 如何在 c/c++(openssl) 中验证任何类型的证书?

java - 检查 Android 中另一个线程中的任务是否已经完成

Java并发唤醒线程

Python:做点什么然后 sleep ,重复

android - 如何编写自己的 ls 命令并使其在 Rooted Android 终端上运行?

linux - 如何以编程方式获取 syscall.Mount() 的文件系统类型

linux - 在 docker 中使用覆盖层使用多主机网络功能需要 swarm

java - 线程 sleep 未等待正确的时间

go - 改变 goroutine 休眠的时间