Heim >Backend-Entwicklung >PHP-Tutorial >So implementieren Sie Multithreading in PHP
Multithreading kann in PHP implementiert werden. Es verwendet die alte Exec-Funktion, um Multithreading durch asynchrone Verarbeitung zu erreichen. Die Exec-Funktion selbst ist eine PHP-Funktion, die externe Programme ausführt. Schauen wir uns genauer an, wie man PHP-Multithreading implementiert.
Empfohlenes Handbuch: So implementieren Sie Multithreading in PHP vollständiges Handbuch zum Selbststudium
Sehen wir uns zunächst ein Beispiel an
<?So implementieren Sie Multithreading in PHP class execMulti { function MultithreadTest { exec("So implementieren Sie Multithreading in PHP static_massive.So implementieren Sie Multithreading in PHP > /dev/null &"); echo "处理完成了"; } } ?>
Wenn Sie den oben genannten Vorgang ausführen, wird der Abschluss der Verarbeitung angezeigt, noch bevor die zeitaufwändige Verarbeitung endet.
exec("So implementieren Sie Multithreading in PHP static_massive.So implementieren Sie Multithreading in PHP > /dev/null &");
Wir werden nicht auf eine Antwort warten, da der von „>/dev/null&“ zurückgegebene Wert fehlt.
Daher ist die Anzeige des Verarbeitungsabschlusses schneller als eine zeitaufwändige Verarbeitung.
Diese Methode weiß jedoch nicht, wann die zeitaufwändige Verarbeitung endet.
Vergessen Sie nicht, die Protokollausführung, die Anmeldung bei der Datenbank und andere Methoden in Betracht zu ziehen, um den Benutzern Ausführungsergebnisse zu liefern.
Methoden für Multithreading (pthreads)
Abschließend wird die Methode zur Verwendung des PHP-Erweiterungsmoduls pthreads vorgestellt.
Mit exec kann es einfacher sein als die oben beschriebene Methode.
①Konfigurieren Sie die Umgebung und installieren Sie PHP
Bitte verwenden Sie Vagrant, um Ihre Lieblingsumgebung vorzubereiten.
PHP muss die Thread-sichere Version verwenden, bei der es sich um eine sichere Multithread-Implementierung handelt.
Laden Sie die offizielle Thread-sichere Version von PHP herunter.
Greifen Sie auf den Inhalt unten zu und laden Sie ihn über das rote Feld im Bild herunter.
http://www.So implementieren Sie Multithreading in PHP.net/downloads.So implementieren Sie Multithreading in PHP
Darüber hinaus müssen Sie für eine threadsichere Installation -enable- using angeben die Konfigurationsoption maintainer-zts.
./configure --enable-maintainer-zts
Sie können bei Bedarf auch Apache- und MySQL-Optionen installieren.
Bestätigen Sie einfach die PHP-Version mit dem folgenden Befehl.
So implementieren Sie Multithreading in PHP -v
②pthreads-Installation
Lass uns das Zip-Format herunterladen.
https://github.com/krakjoe/pthreads/archive/master.zip
Entpacken Sie die ZIP-Datei, wechseln Sie zur entpackten Datei und führen Sie So implementieren Sie Multithreading in PHPize aus.
Wenn Sie pthreads in der PHP-Modulliste ausführen, können Sie Folgendes tun.
So implementieren Sie Multithreading in PHP -m
Je nach Umgebung sind die Einstellungen in diesem Bereich unterschiedlich. Sie können den Umgebungsnamen + pthreads verwenden, um nach Informationen zu suchen.
③ Versuchen Sie, Multithreading zu verwenden
Das Beispiel sieht wie folgt aus
<?So implementieren Sie Multithreading in PHP class pthreadsTest extends Thread { public function run () { sleep(5); } } $ts1 = new pthreadsTest(); $ts1->start(); $ts2 = new pthreadsTest(); $ts2->start(); ?>
Da Sleep(5) zweimal aufgerufen wird, ist es dauert 10 Sekunden, aber tatsächlich sind es 5 Sekunden.
Empfohlene verwandte Artikel:
1.So implementieren Sie Multithreading in PHP
2.Drei Möglichkeiten zur Implementierung von Multithreading in PHP
Verwandte Videoempfehlungen:
1.Dugu Jiujian (4)_PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo implementieren Sie Multithreading in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!