簡體   English   中英

如何有效地將腳本休眠精確的毫秒數?

[英]how can I effectively put my script to sleep for an accurate amount of miliseconds?

我寫了以下myscript.php:

<?php
$count=0;
$start=microtime(true);
while ((microtime(true)-$start)<1) {
        usleep(1000);
        $count++;
}
echo $count;
?>

當我在CentOS 2.6.32 x64內核(Windows 7主機)上運行php -f myscript.php時,而不是接近1000的數字,我得到的輸出為35,43,76,543,44,39,29,38 ...我能做什么?

編輯:我也嘗試使用usleep()clock_gettime()代替time_nanosleep(0,1000000)和C代碼,結果相同。

它可能在PHP中產生開銷,或者可能在PHP中的microtime()usleep()不夠准確。 看看C中類似的代碼做什么會很有趣。

文章對精確的定時一個有趣的討論。

VMWare的有關虛擬機定時的這篇文章可能引起人們的興趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM