# time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleep — Retrasar por un número de segundos y nanosegundos

### Descripción

time_nanosleep(int `$seconds`, int `$nanoseconds`): mixed

Retrasa la ejecución del programa por el nùmero de segundos y nanosegundos dados respectivamente por `seconds` y `nanoseconds`.

### Parámetros

`seconds`

  Debe ser un entero no negativo.

`nanoseconds`

  Debe ser un entero positivo menor que mil millones (1000000000)

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error.

Si el retraso fue interrumpido por una señal se devolverá una matriz asociativa con los siguientes componentes:

- `seconds` - número de segundos que quedan del retraso
- `nanoseconds` - número de nanosegundos que quedan del retraso

### Historial de cambios

Versión | Descripción
--- | ---
5.3.0 | Esta función ahora está disponible en plataformas Windows.

### Ejemplos

Ejemplo #1 Ejemplo de time_nanosleep()

`<?php
// ¡Cuidado! Esto no funcionará como se esperaba si se devuelve una matriz
if (time_nanosleep(0, 500000000)) {
echo "Dormido durante medio segundo.\n";
}
// Esto es mejor:
if (time_nanosleep(0, 500000000) === true) {
echo "Dormido durante medio segundo.\n";
}
// Y esto es el mejor:
$nano = time_nanosleep(2, 100000);
if ($nano === true) {
echo "Dormido durante 2 segundos, 100 microsegundos.\n";
} elseif ($nano === false) {
echo "Falló la dormida.\n";
} elseif (is_array($nano)) {
$segundos = $nano['seconds'];
$nanosegundos = $nano['nanoseconds'];
echo "Interrumpido por una señal.\n";
echo "Tiempo restante: $segundos segundos, $nanosegundos nanosegundos.";
}
?>`

### Ver también

- sleep() - Retrasar la ejecución
- usleep() - Retrasar la ejecución en microsegundos
- time_sleep_until() - Hacer que el script duerma hasta el momento especificado
- set_time_limit() - Limita el tiempo máximo de ejecución