如何在PHP中同时运行多个函数

时间:2016-04-23 12:24:56

标签: php multithreading pthreads

我正在开发一个PHP脚本,它将优化zip文件中的所有图像。我写了一个优化单个图像的功能。我该如何使用此功能,以便同时优化所有图像。我不知道它是多任务还是多线程。

目前我正在做的方法是逐个优化,这需要花费太多时间。我们有什么方法可以同时运行多个功能吗?

<?php
$img1  = "1.jpg";
$img2  = "2.jpg";
$img3  = "3.jpg";

optimize($img1);  // \
optimize($img2);  //  execute these functions in same time
optimize($img3);  // /

function optimize($image)
{
  // code for optimization
}
?>

2 个答案:

答案 0 :(得分:1)

您可以使用pcntl_fork()函数,但它会创建新进程。如果你想编写多线程程序代码,PHP不是最好的选择。

答案 1 :(得分:0)

这是一些示例pthreads代码,适用于PHP 7(pthreads v3 +):

DataTemplate

这使用一个包含16个线程的池来创建所有图像的棕褐色版本。