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