0

サーバーから時間を取得するためにphpコマンドmicroTime(true)を使用しています。

完全な秒に達するたびにイベントを発生させたいのですが、完全な秒に達するタイミングを判断するには、マイクロシーケンスの精度が必要です。

これは私がこれまでに持っているコードです:

$time_start = microtime(true);

while($someValue){
    if(microtime(true)==time()){
        echo "<p>".microtime(true)."</p>";
        echo "<p>".time()."</p>";
    }

    //sleep for one microsecond
    usleep(1);
} 

誰かがこれを正しくする方法を私に助けたり説明したりできますか?

4

2 に答える 2

2

usleepを一度だけ使ってみませんか?

usleep(1000);

精度が下がると確信していますか?方法がわかりません...

于 2012-05-07T15:26:43.867 に答える
0

このコードはあなたのコードよりもうまく機能します

$time = time();
while (true) {
        $curtime = time();
        if ($curtime > $time) {
                $time = $curtime;
                echo microtime(true), "\r\n";
        }
        usleep(1);
}

プロセッサがマイクロ秒ごとにプロセスに時間を費やしていることを確信することはできません。

于 2012-05-07T15:30:52.847 に答える