只是偶然发现time_nanosleep()
并开始想知道,您什么时候想使用它?
此外,甚至可以在 PHP 这样的脚本语言中使用如此短的时间跨度吗?
不,永远不可能使用单个纳秒。只有 Linux 中的上下文切换通常在数百纳秒内,不包括 Zend 引擎的开销。
我检查了 PHP 源代码,它只是 C nanosleep 函数的简单包装。nanosleep 的手册页说:
nanosleep() 暂停调用线程的执行,直到至少经过 *req 中指定的时间
...
与 sleep(3) 和 usleep(3) 相比,nanosleep() 具有以下优点:它为指定睡眠间隔提供了更高的分辨率
因此,这完全取决于您要指定的间隔有多小。由于 usleep 以微秒(数千纳秒)为单位指定,因此对于一些非常小的睡眠间隔来说,它的基本单位可能太大了。