Maison  >  Article  >  développement back-end  >  Comment implémenter le multi-threading en PHP

Comment implémenter le multi-threading en PHP

墨辰丷
墨辰丷original
2018-06-09 11:25:093802parcourir

Cet article présente principalement la méthode d'implémentation du multi-threading en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

L'exemple de cet article décrit comment implémenter le multi-threading avec PHP+shell, comme suit :

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, dormez un moment, haha ! Regardez d'abord le code de test.php :

Code PHP :

<?php
for ($i=0;$i<10;$i++) {
  echo $i;
  sleep(10);
}
?>

Regardez 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

Notez que dans la requête, y a-t-il un symbole & dans cette ligne du code PHP ? C'est la clé. S'il n'est pas ajouté, le multithreading ne peut pas être effectué et signifie que le service est poussé en arrière-plan pour l'exécution. , il n'est pas nécessaire d'attendre que le code PHP soit complété dans chaque boucle du shell. Après exécution, le fichier suivant est demandé, mais en même temps, réalisant ainsi le multithreading. Exécutez le shell ci-dessous pour voir l'effet. . Ici, vous verrez 10 processus test.php s'exécuter à nouveau, puis utiliser le timer Linux. Demander régulièrement ce shell est très utile lors du traitement de tâches nécessitant du multi-threading, comme le téléchargement par lots !

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Techniques de mise en cache PHP via le stockage de fichiers

Explication détaillée de la fonction de php pour télécharger des fichiers image

php utilise des expressions régulières pour extraire des liens dans le contenu

Parcours récursif php pour obtenir une classification infinie

Contrôle des processus php et opérations mathématiques

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn