编程语言
首页 > 编程语言> > php – 同时执行三个功能

php – 同时执行三个功能

作者:互联网

我有三个这样的函数sript php:

public function a($html,$text)
{
    //blaa
return array();
}
public function b($html,$text){
    //blaa
return array();
}
public function c($html,$text){
    //blaa
return array();
}
require_once 'simple_html_dom.php';
$a=array();
$html=new simple_html_dom();
$a=$this->a($html,$text);
$b=$this->b($html,$text);
$c=$this->c($html,$text);
$html->clear();
unset($html);
$a=array_merge($a, $c);
$a=array_merge($a, $b);

> a($html,$text)在给出结果之前需要5秒
> b($html,$text)在给出结果之前需要10秒
> c($html,$text)在给出结果之前需要12秒

因此系统需要27秒才能给我一个结果,但我希望在12秒内获得结果.我不能使用线程,因为我的托管不支持线程.我怎么解决这个问题?

解决方法:

如果等待时间是由阻塞IO(等待服务器响应)引起的,那么curl_multi可能有所帮助.

但是,根据您发布的代码,它看起来不像是您的问题.

它看起来更像是简单的html dom花了很长时间来解析你的HTML.这并不太令人惊讶,因为它不是一个非常好的图书馆.如果是这种情况,您应该考虑切换到DomXPath.

标签:simple-html-dom,php,multithreading
来源: https://codeday.me/bug/20190725/1531607.html