脚本宝典收集整理的这篇文章主要介绍了PHP的工作者和池与pthreads,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
目前,我有这个脚本:
<?PHP class MyWork extends Threaded { public $name; public function __construct($name) { echo "Constructing worker $name\n"; $this->name = $name; } public function run() { echo "Worker $this->name start running\n"; for ($i = 1; $i <= 5; $i++) { echo "Worker $this->name : $i\n"; sleep(1); } } } class MyWorker extends Worker { public function run() {} } $pool = new Pool(1,\MyWorker::class); $pool->submIT(new MyWork("A")); $pool->submit(new MyWork("B")); $pool->submit(new MyWork("C"));
根据我的理解,这应该创建一个工人池,一次最多可以运行1名工人吗?因此,我期待这种输出:
Constructing worker A Constructing worker B Constructing worker C Worker A start running Worker A : 1 Worker A : 2 Worker A : 3 Worker A : 4 Worker A : 5 Worker B start running Worker B : 1 Worker B : 2 Worker B : 3 Worker B : 4 Worker B : 5 Worker C start running Worker C : 1 Worker C : 2 Worker C : 3 Worker C : 4 Worker C : 5
但是,这就是我所得到的:
Constructing worker A Constructing worker B Worker A start running Constructing worker C Worker A : 1 Worker : 2 Worker : 3 Worker : 4 Worker : 5 Worker start running Worker : 1 Worker : 2 Worker : 3 Worker : 4 Worker : 5 Worker start running Worker : 1 Worker : 2 Worker : 3 Worker : 4 Worker : 5
为什么工人的名字只出现一次然后就这样消失了?
注意:我在Windows 8.1上使用PHP 5.5.10和phtreads 2.0.4,我通过CLI运行脚本.
以上是脚本宝典为你收集整理的PHP的工作者和池与pthreads全部内容,希望文章能够帮你解决PHP的工作者和池与pthreads所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。