sleep 時間段不佔指令碼執行時間

learnner發表於2020-06-05

突發好奇心 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";
    }
}

測試結果

sleep 時間段不佔指令碼執行時間
感官上執行時間是超出了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 協議》,轉載必須註明作者和本文連結

相關文章