次の 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 ホスト)で実行すると、1000 に近い数値ではなく、php -f myscript.php
35,43,76,543,44,39,29,38 のような出力が得られます...どうすればよいですか?
EDIT:代わりにandtime_nanosleep(0,1000000)
を使用してCコードを試してみましたが、同じ結果が得られました。usleep()
clock_gettime()