Aller au contenu

time_nanosleep()

Dans cet article, nous nous concentrerons sur la fonction PHP time_nanosleep(). Nous vous fournirons un aperçu de la fonction, son fonctionnement et des exemples d'utilisation.

Introduction à la fonction time_nanosleep()

La fonction time_nanosleep() est une fonction intégrée à PHP qui permet de suspendre l'exécution d'un script pendant un nombre spécifié de secondes et de nanosecondes. C'est un outil puissant qui peut être utilisé pour créer des délais avec une précision temporelle très élevée.

La fonction time_nanosleep() prend deux arguments : le nombre de secondes de pause et le nombre de nanosecondes de pause.

Comment utiliser la fonction time_nanosleep()

Utiliser la fonction time_nanosleep() est très simple. Il suffit d'appeler la fonction et de lui passer le nombre de secondes et de nanosecondes pour suspendre l'exécution du script. Voici un exemple :

Comment utiliser la fonction time_nanosleep() ?

php
<?php
echo "Sleeping for 1 second and 500000000 nanoseconds...\n";
$result = time_nanosleep(1, 500000000);
if ($result !== true) {
    echo "Sleep interrupted or failed: " . $result['seconds'] . "s " . $result['nanoseconds'] . "ns remaining.\n";
} else {
    echo "Done sleeping.\n";
}
?>

Dans cet exemple, nous appelons la fonction time_nanosleep() avec 1 seconde et 500000000 nanosecondes. Cela suspend le script pendant 1 seconde et 500 000 000 nanosecondes (0,5 seconde). Nous affichons ensuite un message indiquant que nous sommes en veille, attendons la durée spécifiée, puis affichons un autre message une fois terminé.

Considérations sur les performances

La fonction time_nanosleep() est efficace car elle s'appuie sur le planificateur du système d'exploitation plutôt que sur une attente active (busy-waiting), elle ne consomme donc pas de cycles CPU pendant la pause. Cependant, elle est uniquement compatible POSIX et n'est pas disponible par défaut sous Windows. Lors d'appels fréquents, gardez à l'esprit que la surcharge liée au changement de contexte peut s'accumuler ; utilisez-la donc uniquement lorsque une précision inférieure à la seconde est réellement nécessaire.

Conclusion

En conclusion, la fonction time_nanosleep() est un outil puissant pour créer des délais avec une précision temporelle très élevée. En comprenant comment utiliser la fonction et ses considérations de performance, vous pouvez tirer parti de cette fonctionnalité pour créer des délais de timing précis dans vos scripts PHP.

Pratique

Que fait la fonction PHP nanosleep() ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.