Maison  >  Article  >  développement back-end  >  PHP est-il multi-processus ou multi-thread ?

PHP est-il multi-processus ou multi-thread ?

王林
王林original
2019-09-30 11:54:264927parcourir

PHP est-il multi-processus ou multi-thread ?

Le développement PHP doit comprendre les processus et les threads, car le développement multithread sera également rencontré. Alors, que sont les processus et les threads ?

1. Qu'est-ce qu'un processus

Un processus est une instance d'exécution d'un programme. Un processus peut être alloué à des ressources telles que le processeur et la mémoire. Un processus comprend généralement un jeu d'instructions et des ressources système, le jeu d'instructions étant votre code et les ressources système faisant référence au processeur, à la mémoire, aux E/S, etc.

2. Qu'est-ce qu'un thread

Un thread est un flux d'exécution d'un processus. Un thread ne peut pas allouer de ressources système. Il fait partie du processus et s'exécute indépendamment. plus petit que l’unité de processus.

Le processus a deux caractéristiques :

1. Propriété des ressources

2. Planification de l'exécution (jeu d'instructions)

Thread. Il fait partie de la planification de l'exécution et fait référence au chemin d'exécution du processus, également appelé flux d'exécution du programme. Les threads sont parfois appelés processus légers.

PHP est-il multi-processus ou multi-thread ?

3. La relation entre les processus et les threads

Un processus est comme un propriétaire, avec du terrain (ressources du système), et les threads sont comme des locataires (Thread, exécute le processus d'agriculture). Chaque propriétaire (processus) n’a besoin que d’un seul locataire actif (thread). Processus - la plus petite unité d'allocation de ressources, relativement robuste, les plantages n'affectent généralement pas les autres processus, mais le changement de processus consomme des ressources et est moins efficace.

Thread - la plus petite unité d'exécution de programme. Il n'a pas d'espace d'adressage indépendant. Si un thread meurt, l'ensemble du processus peut mourir, mais il économise des ressources et a une efficacité de commutation élevée.

4. Processus et threads courants dans la programmation PHP

1 Dans les applications Web, chaque fois que nous accédons à PHP, un processus PHP sera créé, et bien sûr nous. créera également au moins un thread PHP.

2. PHP utilise pcntl pour la programmation multi-processus

3. PHP utilise pthreads pour la programmation multi-thread

4. le thread peut gérer plusieurs accès client

5. php-fpm utilise un modèle multi-processus. Chaque processus n'a qu'un seul thread, et chaque thread ne peut gérer qu'un seul accès client.

6. Apache peut utiliser un modèle multi-processus ou un modèle multi-thread, selon le SAPI utilisé.

Tutoriel recommandé : Tutoriel vidéo 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!

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