PHP pthread未在多线程方法中运行
我的PHP Pthread代码:PHP pthread未在多线程方法中运行,php,multithreading,pthreads,Php,Multithreading,Pthreads,我的PHP Pthread代码: <?php $query="test"; $sits=array('demo1','demo3','demo2','demo3','demo4','demo5','demo6','demo7','demo8'); class StackableArray extends Stackable { public function run() { } }; class Storage extends Stackable { public f
<?php
$query="test";
$sits=array('demo1','demo3','demo2','demo3','demo4','demo5','demo6','demo7','demo8');
class StackableArray extends Stackable { public function run() { } };
class Storage extends Stackable { public function run() { } };
$Storage = new Storage();
class SiteProcess extends Thread
{
private $Storage;
private $site;
public function __construct(Storage $Storage, $site,$query)
{
$this->Storage = $Storage;
$this->site = $site;
$this->query = $query;
}
public function run()
{
require_once("Sites/{$this->site}.php");
$siteObj = new $this->site;
$this->Storage[] = $siteObj->getPriceData( $this->query,$cache);
}
}
foreach($sites as $site)
{ echo "start time :".strftime('%c')."<br>";
$Thread = new SiteProcess($Storage, $site,$query);
$Thread->start();
$Threads[$re] = $Thread;
}
foreach($Threads as $Thread)
{
$Thread->join();
}
?>
PHP线程不是以多线程方式执行的。我认为代码不是以并行方式逐个执行的。我尝试使用Stackable类,但不工作
我看到的是正确的吗?还是我做错了什么?
我的核心PHP代码如下所示:
$query="test";
$sits=array('demo1','demo3','demo2','demo3','demo4','demo5','demo6','demo7','demo8');
foreach($sites as $site)
{
require_once 'Sites/'.$site.'.php';
$siteObj = new $site;
$data = $siteObj->getPriceData($query);
}
$Threads[$re]
,$Threads的计数最大为1,这就是为什么它们一次运行一个线程…@JoeWatkins thnx用于回放..你能告诉我工作情况吗code@JoeWatkins如何为$Threads指定最大计数可能会有所帮助
$query="test";
$sits=array('demo1','demo3','demo2','demo3','demo4','demo5','demo6','demo7','demo8');
foreach($sites as $site)
{
require_once 'Sites/'.$site.'.php';
$siteObj = new $site;
$data = $siteObj->getPriceData($query);
}