Heim > Backend-Entwicklung > PHP-Problem > Wie implementiert man Multithreading in PHP?

Wie implementiert man Multithreading in PHP?

(*-*)浩
Freigeben: 2023-02-25 09:06:02
Original
2138 Leute haben es durchsucht

Wie implementiert man Multithreading in PHP?

So implementieren Sie Multithreading in PHP: (Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Beherrschung)

Verwenden Sie die Funktion „shell_exech“ im Shell-Modus. Jedes Mal, wenn Sie einen Thread hinzufügen, entspricht dies dem Öffnen einer Shell mit PHP für unabhängige Vorgänge.

Fügen Sie Pthread zu Ihrem PHP hinzu Erweiterung und verwenden Sie dann die von Pthread bereitgestellte API, um das Multithreading von PHP zu betreiben.

<?php
class pthreadsTest extends Thread {
    public function run () {
        sleep(5);
    }
}
$ts1 = new pthreadsTest();
$ts1->start(); 
$ts2 = new pthreadsTest();
$ts2->start(); 
?>
Nach dem Login kopieren

Das Folgende ist eine Thread-Klasse, die zum Anfordern einer bestimmten Schnittstelle verwendet wird. Schreiben Sie als Nächstes zwei darauf basierende Multithread-Anwendungsbeispiele:

class Request extends Thread {
    public $url;
    public $response;
    public function __construct($url) {
        $this->url = $url;
    }
    public function run() {
        $this->response = file_get_contents($this->url);
    }
}
Nach dem Login kopieren

Asynchrone Anfrage

Teilen Sie die synchrone Anfrage in mehrere Threads für asynchrone Aufrufe auf. Zur Verbesserung die betriebliche Effizienz des Programms.

$chG = new Request("www.google.com");
$chB = new Request("www.baidu.com");
$chG ->start();
$chB ->start();
$chG->join();
$chB->join();

$gl = $chG->response;
$bd = $chB->response;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie implementiert man Multithreading in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage