sleep 时间段不占脚本执行时间
突发好奇心 PHP内置方法 sleep() 会不会占用脚本执行时间
手动做了下测试,结果如下:
1. 不用sleep做测试
先设置一下最大执行时间为2秒,方便测试。
<?php
ini_set('max_execution_time','2');
for ($i=0; $i < 1000000000; $i++) {
if (0 == $i%100) {
echo "No. {$i}\n";
}
}
测试结果

感官上运行时间是超出了2秒的,疑惑。
2. 用sleep做测试
代码如下
<?php
ini_set('max_execution_time','2');
for ($i=0; $i < 1000000000; $i++) {
if (0 == $i%100) {
echo "No. {$i}\n";
sleep(2);
}
}
结果运行了很长时间也没出现超时。
得出个不太严谨的结论:不会占用执行时间。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
我试了下,这个时间应该指的是 100% CPU 的时间,输出文字时,CPU 不高,所以从时间上看大于 2 秒,实际上 CPU 只花了 2秒 CPU 时间。
试了
usleep(1)。加上去,原本能输出180万,加上去只能输出15万 :see_no_evil:usleep(1000)3万