【问题标题】:php threads and script executionphp线程和脚本执行
【发布时间】:2014-11-26 17:52:22
【问题描述】:

我想在php中完成以下行为:

1 - 使用参数调用脚本

2- 我为长时间运行的操作启动一个线程

3 - 脚本应将控制权返回给调用者

4- 线程一直执行到结束

这种行为可能吗?我现在看到的是,脚本在线程完成执行之前不会返回,这是有道理的,因为如果脚本停止执行,线程的执行可能会死掉,但是有没有办法停止阻塞客户端,所以他们可以继续他们的生意?我是否坚持使用一些 exec() 调用来获得这种行为?有没有办法只用线程来完成这项工作?如果可能的话,我想避免使用 exec..

因此,如果有人从浏览器调用我的脚本,它应该立即返回,并且长时间运行的进程应该继续执行直到完成。

谢谢

丹尼尔

【问题讨论】:

标签: php multithreading


【解决方案1】:

是的,有可能。通过 AJAX 调用您的 php 脚本,并动态创建 ajax 函数的多个实例。请参阅随附的屏幕截图。当我比较运行单个函数和 24 个实例的结果时,我的数据处理速度提高了大约 15 倍。我正在尝试用大约 3000 万条记录填充 MySQL 表,每条记录都涉及根据 lat/lng 计算距市中心英里的距离。所以,是的,它不能在公园里散步。正如你所看到的,我的平均水平是看这个:

multi threads http://gaysugardaddyfinder.com/screen2.PNG multi threads http://gaysugardaddyfinder.com/screen.png

这可能是一个光荣的 hack,也可能不是 - 但它确实对我很有用。

我的服务器是具有 64 GB RAM 的 Xeon 72 Core 设置。

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 2014-07-20
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多