Можете ли вы выяснить эту проблему синхронизации PHP?

Может ли кто-нибудь сказать мне, почему, когда я запускал сценарий с приведенным ниже содержимым, а затем останавливал его через 5 секунд, мне нужно разделить прошедшее время на 2, чтобы получить правильное время выполнения сценария ?

ignore_user_abort(true); set_time_limit(0); 

$begin_time = microtime(true);

$elapsed_time = 0;

while(!connection_aborted()) {
    echo ' ';
    flush();
    usleep(1000000);
}

$elapsed_time = microtime(true) - $begin_time;

$timer_seconds = $elapsed_time; //10 seconds

$timer_seconds = $elapsed_time / 2; //5 seconds


/*I am writing to a DB - but you can use this to test */
$fp = fopen('times.txt', 'w');
fwrite($fp, 'Time Elapsed: '.$timer_seconds);
fclose($fp);

Не стесняйтесь попробовать код, поскольку он озадачил меня, почему $ elapsed_time нужно делить на два. Может быть, я что-то неправильно понял?

Всем спасибо за любую помощь

Обновление

Я обновил код, чтобы каждый мог попробовать это, и он будет записывать в текстовый файл для просмотра вывода.

14
задан Abs 25 January 2011 в 17:56
поделиться