我想在php中一次执行多个方法

时间:2011-07-07 12:17:42

标签: php multithreading

嗨请帮我在PHP中一次执行多个方法。

以下是示例:

<?php
function writeName()
{
sleep(3);
echo "Kai Jim Refsnes";
}
function b(){
sleep(3);
echo"b";
}
b();
writeName());
?>

上面的程序需要6秒才能执行。但是我想同时运行我的两个方法,以便程序应该在3秒内执行(多线程)。

2 个答案:

答案 0 :(得分:2)

使用常见的PHP是不可能的,因为PHP是按顺序执行的。您可以查看一个像gearman这样的作业服务器,或者您可以尝试使用fork(pcntl_fork())。它不是多线程的,因为没有共享内存。

答案 1 :(得分:0)

很抱歉,PHP不支持多线程。

但是你可以使用exec()启动一个可以在后台运行的PHP脚本。只需确保将其输出重定向到其他地方 如果没有其他工具,那应该是最接近“多线程”的。以下是手册所说的内容:

  

注意:如果使用此功能启动程序,为了使程序在后台继续运行,程序的输出必须重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。