Cet article vous présentera le rôle de pcntl_fork en php. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Quant à la façon d'installer et d'activer l'extension php_pcntl, je ne la présenterai pas ici, j'analyserai uniquement la fonction pcntl_fork() elle-même.
$one = 123; $one++; $two = time(); $pid = []; $pid = pcntl_fork(); $three = time();
Lorsque : la fonction pcntl_fork() est exécutée, un processus enfant sera créé. Le processus enfant copiera tout ce qui concerne le processus actuel, c'est-à-dire le processus parent : les données, le code et l'état.
1. Lorsque pcntl_fork() crée avec succès un processus enfant, le numéro du processus enfant est renvoyé dans le processus parent, 0 est renvoyé dans le processus enfant et -1 est renvoyé s'il échoue
2. Processus enfant Le code et les données du processus parent seront copiés. Cela signifie alors : le code et les données appartenant aux processus enfants et parents seront exactement les mêmes.
3. Point clé : Le processus enfant copiera le statut du processus parent, il y a donc l'exemple de code ci-dessus : pcntl_fork est exécuté sur la cinquième ligne, puis le code du processus enfant créé est également exécuté à partir de la cinquième ligne. Le processus enfant a copié les données et le code. Par conséquent, il y a les mêmes variables dans le processus enfant : $one, $two et d'autres variables
for ($i = 0; $i < 3; $i++) { $pid = pcntl_fork(); } sleep(30);
Ensuite : combien de processus enfants seront réellement générés par la boucle for ci-dessus ? La réponse est 7. Sous Linux, vous pouvez utiliser la commande ps pour voir 8 processus (1 processus parent, 7 processus enfants)
Raison : Le processus parent crée un processus enfant lorsque i=0 0, l'enfant Le processus à ce moment continuera à exécuter la boucle. Créez votre propre processus enfant. De la même manière, lorsque i=0, un processus enfant 0 est créé. A ce moment, le processus enfant continuera à exécuter la boucle. Créez votre propre processus enfant. De la même manière : lorsque i=0, un processus enfant 0 est créé. A ce moment, le processus enfant continuera à exécuter la boucle. Créez votre propre processus enfant. De la même manière : cela se produira également lorsque i=1...
Apprentissage 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!