array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.time-nanosleep.php', 1 => 'time_nanosleep', ), 'up' => array ( 0 => 'ref.misc.php', 1 => 'Misc. Funções', ), 'prev' => array ( 0 => 'function.sys-getloadavg.php', 1 => 'sys_getloadavg', ), 'next' => array ( 0 => 'function.time-sleep-until.php', 1 => 'time_sleep_until', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/misc/functions/time-nanosleep.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
time_nanosleep — Atrasa por um número de segundos e nanossegundos
Atrasa a execução do programa pelo número de segundos informado em
seconds
e de nanossegundos informado em nanoseconds
.
seconds
Deve ser um inteiro não negativo.
nanoseconds
Deve ser um inteiro não negativo menor que um 1 bilhão.
Nota: No Windows, o sistema pode atrasar mais que o número de nanossegundos informado, dependendo do equipamento.
Retorna true
em caso de sucesso ou false
em caso de falha.
Se o atraso foi interrompido por um sinal, um array associativo será retornado com os componentes:
seconds
- número de segundos remanescentes
no atraso
nanoseconds
- número de nanossegundos
remanescentes no atraso
Exemplo #1 Exemplo de time_nanosleep()
<?php
// Cuidado! Não vai funcionar como esperado se um array for retornado
if (time_nanosleep(0, 500000000)) {
echo "Dormi por meio segundo.\n";
}
// Assim é melhor:
if (time_nanosleep(0, 500000000) === true) {
echo "Dormi por meio segundo.\n";
}
// E assim é o melhor:
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
echo "Dormi por 2 segundos, 100 microssegundos.\n";
} elseif ($nano === false) {
echo "Pausa falhou.\n";
} elseif (is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo "Interrompido por um sinal.\n";
echo "Tempo remanescente: $seconds segundos, $nanoseconds nanossegundos.";
}
?>