6

只是偶然发现time_nanosleep()并开始想知道,您什么时候想使用它?

此外,甚至可以在 PHP 这样的脚本语言中使用如此短的时间跨度吗?

4

1 回答 1

5

不,永远不可能使用单个纳秒。只有 Linux 中的上下文切换通常在数百纳秒内,不包括 Zend 引擎的开销。

我检查了 PHP 源代码,它只是 C nanosleep 函数的简单包装。nanosleep 的手册页说:

nanosleep() 暂停调用线程的执行,直到至少经过 *req 中指定的时间

...

与 sleep(3) 和 usleep(3) 相比,nanosleep() 具有以下优点:它为指定睡眠间隔提供了更高的分辨率

因此,这完全取决于您要指定的间隔有多小。由于 usleep 以微秒(数千纳秒)为单位指定,因此对于一些非常小的睡眠间隔来说,它的基本单位可能太大了。

于 2012-04-18T08:31:27.063 回答