Maison > Article > développement back-end > Une méthode d'implémentation du multi-threading PHP—shell
PHP lui-même prend-il en charge le multi-threading ? Cependant, nous pouvons utiliser d'autres méthodes pour réaliser le multi-threading, telles que les services shell, tels que le Web. Serveur, comment implémenter le multi-threading à l'aide d'un script shell ?
Dans cet article, nous présentons principalement la méthode d'implémentation du multi-threading en PHP+shell Vous pouvez vous y référer.
Voici comment implémenter le multi-threading à l'aide de scripts shell.
Écrivez d'abord un code php simple Afin de prolonger le temps d'exécution du script et de voir l'effet plus facilement, jetons d'abord un coup d'œil au code de test.php :
Code PHP. :
<?php for ($i=0;$i<10;$i++) { echo $i; sleep(10); } ?>
En regardant le code du script shell, c'est très simple
#!/bin/bash for i in 1 2 3 4 5 6 7 8 9 10 do /usr/bin/php -q /var/www/html/test.php & done
Avez-vous remarqué qu'il y a un symbole & dans la ligne qui demande le code php ? C'est la clé. Sans cela, le multithreading ne peut pas être effectué, & signifie que le service est poussé en arrière-plan pour être exécuté. Par conséquent, dans chaque boucle du shell, vous n'avez pas à attendre que tout le code PHP soit exécuté. être exécuté avant de demander le fichier suivant, mais en même temps, réalisant ainsi le multithreading. Exécutez ci-dessous Exécutez le shell pour voir l'effet Ici, vous verrez 10 processus test.php s'exécuter à nouveau. Utilisez ensuite le minuteur Linux pour demander cela. shell régulièrement. C'est très utile lors du traitement de certaines tâches qui nécessitent du multi-thread, comme le téléchargement par lots !
Résumé : Les threads sont une très bonne chose en Java. De nombreux amis disent que le multi-threading PHP ne peut pas être utilisé en PHP. En fait, c'est une fausse déclaration. en PHP.
J'espère que cet article sera utile à la conception de la programmation PHP de chacun.
Recommandations associées :
Deux méthodes d'implémentation du multi-threading en PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!