php多线程如何实现

作者: dreamfly 分类: php 发布时间: 2019-02-16 11:47

php最初设计的时候是单线程的,因为这样不用设计简单,不需要考虑线程之间的切换开销。

然而有些时候我们还是想要在php中实现多线程。那么php是如何实现多线程的呢?

php最方便的一点就是,他的许多功能都可以通过扩展来实现。php只要安装pthread这个扩展,就可以实现多线程了。

下面简单举个例子

image.png

通过继承tread线程类,实现run方法,然后在调用的时候执行start方法,就可以调用多线程了。

$ch1 = new Request("www.80shihua.com");
$ch2 =
new Request("www.80shihua.com");
$ch1 ->start();
$ch2 ->start();
$ch1->join();
$ch2->join();

$rs1 = $ch1->response;
$rs2 = $ch2->response;


通过这样的方式,我们就可以并发执行请求,现在大部分爬虫也基本是这样来抓取的,因为这样的效率更高。

要使用多线程一定要安装pthread扩展,否则会提示thread不存在。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!