多线程方法同时php

时间:2012-06-20 14:28:44

标签: php

我正在开发一个PHP脚本,它使用不同的参数实例化同一个类的三个对象。这些对象反过来运行无限持续时间的方法(如Cron Job),因此下一行或第二行永远不会开始。

所以,如果我有

$a = new CronJob('Listing', '2010-04-01T00:00:01', '2010-04-01T00:30:01', 'A', 'BUSO');
$s = new CronJob('Listing', '2010-04-01T00:00:01', '2010-04-01T00:30:01', 'S', 'BUSO');
$p = new CronJob('Listing', '2010-04-01T00:00:01', '2010-04-01T00:30:01', 'P', 'BUSO');
由于$s无限期运行

$a永远不会被执行

我该如何解决这个问题?我想过用不同的脚本运行它们但是我不想让3 * (#object types)同时运行它们。

2 个答案:

答案 0 :(得分:1)

老实说,你最好的选择是制作单独的cron作业。 PHP本身并不支持多线程,并且许多黑客攻击它的工作成本很高。

看看这个堆栈溢出问题:How can one use multi threading in PHP applications

<强>更新

也希望将这个想法传递给Gearman。如果您可以添加外部扩展,请下载PECL包并进行安装。您将需要本地系统上的齿轮箱。

答案 1 :(得分:0)

您考虑过PHP threading吗?

这是关于PHP threading issues的另一个SO讨论。