ParallelFor
介绍
一个对 PHP 数组并行执行操作的类。 它旨在代替 PHP 的 while、for、foreach 和其他循环。
当对数组的每个元素执行以下处理时,有可能缩短处理时间。
执行占用大量 CPU 时间的处理时
当有DB访问、网络访问等进程被阻塞时
1的情况下,除非是多核CPU,否则无效。
操作环境
PHP 5.3 或更高版本
可以使用 pcntl 函数(不适用于 mod_php 等)
编译PHP时添加--enable-pcntl选项。另外,用yum或apt安装PHP似乎经常可以从一开始就使用。
这个怎么运作
将要处理的数组分成多个较小的数组,分别在用pcntl_fork创建的子进程中处理,合并结果返回。可以在设置中更改分割数。
对于数组元素的每个合并处理内容和结果的过程,创建一个闭包并传递它。
有关详细信息,请参阅示例和测试目录中的文件。
约束
执行前一定要关
2022-04-29 18:58:56
6KB
PHP
1