Rumah > pembangunan bahagian belakang > masalah PHP > php如何实现多线程?

php如何实现多线程?

(*-*)浩
Lepaskan: 2023-02-25 09:06:02
asal
2126 orang telah melayarinya

php如何实现多线程?

PHP实现多线程的方法:(推荐学习:PHP编程从入门到精通

使用shell_exech函数,以shell的方式,每添加一个线程,就相当于你使用php打开了一个shell进行独立的操作

给你的PHP添加Pthread扩展,然后使用Pthread所提供的API来操作PHP的多线程。

<?php
class pthreadsTest extends Thread {
    public function run () {
        sleep(5);
    }
}
$ts1 = new pthreadsTest();
$ts1->start(); 
$ts2 = new pthreadsTest();
$ts2->start(); 
?>
Salin selepas log masuk

下面是一个线程类,用来请求某一接口。接下来根据它写两个多线程的应用实例:

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);
    }
}
Salin selepas log masuk

异步请求

将同步的请求拆分为多个线程异步调用,以提升程序的运行效率。

$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;
Salin selepas log masuk

Atas ialah kandungan terperinci php如何实现多线程?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan