Php中的多线程

时间:2011-08-16 13:29:35

标签: php multithreading

我知道PHP不支持多线程但我想知道是否有一个很好的解决方法在php中同时执行多个函数?我写了一些代码来计算不变性的时刻。计算每个时刻有七个函数,每个时刻随后比下一个时刻更慢完全执行。

欢迎任何建议。

谢谢

3 个答案:

答案 0 :(得分:2)

似乎gearman就是您所需要的。还有php extension

答案 1 :(得分:0)

另请参阅pcntl_fork函数(pcntl_fork

我通常用它来产生一个工人的孩子。然后我用主线观察孩子,处理收获的死孩子并产生新的孩子。

答案 2 :(得分:0)

除了通过fork调用新进程外,大多数现代操作系统(甚至包括MSWindows)都具有从shell生成非阻塞进程的功能,尽管语法各不相同。因此,您可以使用the various program execution functions来调用它们。

另一种方法是将功能拆分为多个URL(可能限制对localhost的访问),然后使用curl_multi_exec()从控制脚本中调用它们(请注意,这可能比单独运行它们的效率低)进程,这反过来将比通过fork运行效率低。)

然而,关于如何在多个线程/进程之间对进程进行分片的任何讨论都是由进程本身是否可分片的问题所预测的。此外,分片是否会提高性能。我会把这些问题留给你。