ループの並列実行 配列をループで処理すると、一つずつ順番に実行されます。非常にCPU時間を使う処理だったり、ネットワークアクセスなどがあり待ち時間が長い場合、一つ一つの実行に時間がかかり効率的に処理することが出来ません。 他の言語だとスレッドなどを使って並列処理をするのですが、PHPにはスレッドありません。ただ、forkが使えるので、これを使って並列処理をすることが出来ます。 以前に、別のプロジェクトでこの方法を使用したところ、大幅な処理時間削減をすることが出来ました。もう少しお手軽に使えるものがあったらよいと思い、汎用的なクラスとして実装してみました。名前はParallelForとしてみました。あと、珍しくドキュメントとかテストも書いてみました。 ちなみに.NET Frameworkには同名のメソッドがあるそうです、あとで知りました・・・。 仕組み README.mdより引用します 処理
![PHPでループを並列処理する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/0ad78e885a885abcc9e9f37321a9af0458159a08/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UEhQJUUzJTgxJUE3JUUzJTgzJUFCJUUzJTgzJUJDJUUzJTgzJTk3JUUzJTgyJTkyJUU0JUI4JUE2JUU1JTg4JTk3JUU1JTg3JUE2JUU3JTkwJTg2JUUzJTgxJTk5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz05MzJjM2JlYmU2NDQ3ODAxZTkwYzE2ZTY1NDA3MTkyNg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwaGlyb25vYnVfcyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZGVmNGU3N2MwMmZhNGI4ZDhjMzgyYTVjZDMxNmYwM2E%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D1039fd32645d08bff908908a95190b31)