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

Wie implementiert man Multithreading in PHP?

(*-*)浩
(*-*)浩Original
2019-09-27 11:46:532069Durchsuche

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(); 
?>

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);
    }
}

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;

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!

Stellungnahme:
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