Dieser Artikel stellt hauptsächlich die Verwendung von pcntl für mehrere Prozesse vor. Er ist von großem praktischem Wert 🎜>Dieser Artikel beschreibt die Verwendung von PHP anhand von Beispielen für die Verwendung von pcntl. Die konkrete Analyse lautet wie folgt:
PHP kann mithilfe der PCNTL-Funktionsreihe auch eine Transaktion mit mehreren Prozessen abwickeln. Ich muss beispielsweise 800.000 Daten aus der Datenbank abrufen und dann eine Reihe nachfolgender Verarbeitungen durchführen. Verwenden Sie zu diesem Zeitpunkt einen einzigen Prozess? Sie können bis heute nächstes Jahr warten. Daher sollten Sie die Funktion pcntl verwenden.
Angenommen, ich möchte 20 Prozesse starten und 1-80 W Daten in 20 Teile aufteilen. Der Hauptprozess wartet, bis alle untergeordneten Prozesse abgeschlossen sind, bevor er beendet wird:
$max = 800000; $workers = 20; $pids = array(); for($i = 0; $i < $workers; $i++){ $pids[$i] = pcntl_fork(); switch ($pids[$i]) { case -1: echo "fork error : {$i} \r\n"; exit; case 0: $param = array( 'lastid' => $max / $workers * $i, 'maxid' => $max / $workers * ($i+1), ); $this->executeWorker($input, $output, $param); exit; default: break; } } foreach ($pids as $i => $pid) { if($pid) { pcntl_waitpid($pid, $status); } }
Hier, wenn pcntl_fork herauskommt In Zukunft wird ein PID-Wert im untergeordneten Prozess zurückgegeben und ist der PID des untergeordneten Prozesses (>0). Wenn der PID -1 ist, bedeutet dies, dass die Verzweigung fehlgeschlagen ist .
Durch die Verwendung eines $pids-Arrays kann der Hauptprozess warten, bis alle Prozesse abgeschlossen sind, bevor er beendet wird
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, I Ich hoffe, es kann helfen. Das Lernen aller hilft. Verwandte Empfehlungen:
Die Datenbank in PHP implementiert sicherere permanente Anmelde- und ErinnerungsfunktionenVerwenden Sie in PHP generierte Methoden zur Verschlüsselung und Entschlüsseln öffentlicher Schlüssel und privater SchlüsselPHP zeichnet Benutzernamen und Passwörter basierend auf Cookies aufDas obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktion pcntl, um mehrere Prozesse in PHP auszuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!