微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐