加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP多进程的模式?

发布时间:2020-12-13 13:11:12 所属栏目:PHP教程 来源:网络整理
导读:存在哪种设计模式来实现一些 PHP进程的执行以及在一个 PHP进程中收集结果? 背景: 我在PHP中有很多大树( 10000条)并且必须对它进行递归检查.我想减少执行时间. 如果您的目标是最短的时间 – 解决方案很容易描述,但实现起来并不那么简单. 您需要找到一种模式
存在哪种设计模式来实现一些 PHP进程的执行以及在一个 PHP进程中收集结果?

背景:
我在PHP中有很多大树(> 10000条)并且必须对它进行递归检查.我想减少执行时间.

如果您的目标是最短的时间 – 解决方案很容易描述,但实现起来并不那么简单.

您需要找到一种模式来划分工作(在这方面,您不会在问题中提供太多信息).

然后使用一个主程序,即forks个孩子做的工作.通常,您使用的进程总数应介于n和2n之间,其中n是计算机具有的核心数.

假设这些数据将存储在文件中,您可以考虑使用非阻塞IO来最大化吞吐量.不这样做会使您的大部分进程花费时间等待磁盘. PHP有stream_select()可能对您有所帮助.请注意,使用它并非易事.

如果您决定不使用select – 增加进程数可能会有所帮助.

关于pcntl函数:我已经用它们编写了一个deamon(一个正确的分支,更改会话ID,运行用户等等),它是我编写的最可靠的软件之一.因为它为每个任务生成工作者,即使其中一个任务中存在错误,也不会影响其他任务.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读