任何人都可以向我解释 usleep 或睡眠如何帮助卸载CPU。
我编写了如下示例代码。
while (1) // check if the data file has been modified
{
usleep(10000); // sleep 10ms to unload the CPU**
clearstatcache();
$currentmodif = filemtime($filename);
}
答案 0 :(得分:2)
如果你运行usleep()
,CPU就不会花时间等待。
相反,它将设置一个计时器并在其他线程/程序上使用额外的时间。
如果你编写了大量工作来消耗CPU时间的代码,那么CPU将会努力工作,忽略其他任务,因为它认为它正在做有用的工作。
如果您使用usleep
CPU(实际上是操作系统)知道没有什么有用的事情可以优先考虑其他工作。
答案 1 :(得分:0)
想象一下,你必须等待8个小时才能举办一些活动 你有两个选择:
所以sleep()
和usleep()
是第二种变体。
答案 2 :(得分:0)
而不是这样做:http://www.php.net/inotify
请务必使用stream_set_blocking()
打开阻止模式 - 这样您在等待时根本不会使用任何CPU。