Maison > développement back-end > Problème PHP > Comment implémenter le multi-threading en php ?

Comment implémenter le multi-threading en php ?

(*-*)浩
Libérer: 2023-02-25 09:06:02
original
2139 Les gens l'ont consulté

Comment implémenter le multi-threading en php ?

Comment implémenter le multi-threading en PHP : (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

Utilisez la fonction shell_exech en mode shell. Chaque fois que vous ajoutez un thread, cela équivaut à ouvrir un shell avec PHP pour des opérations indépendantes

Ajoutez Pthread à votre PHP. Extension, puis utilisez l'API fournie par Pthread pour faire fonctionner le multi-threading PHP.

<?php
class pthreadsTest extends Thread {
    public function run () {
        sleep(5);
    }
}
$ts1 = new pthreadsTest();
$ts1->start(); 
$ts2 = new pthreadsTest();
$ts2->start(); 
?>
Copier après la connexion

Ce qui suit est une classe de thread utilisée pour demander une certaine interface. Ensuite, écrivez deux exemples d'applications multithread basés sur celui-ci :

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);
    }
}
Copier après la connexion

Demande asynchrone

Divisez la requête synchrone en plusieurs threads pour les appels asynchrones, Pour améliorer l’efficacité opérationnelle du programme.

$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;
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal