您的位置:首页 > 编程语言 > PHP开发

php通过pcntl扩展用多进程模拟多线程

2012-07-30 19:17 387 查看
php本身是不支持多线程的,但是可以利用多进程模拟多线程。

<?php

function test($thread, $num) {

$i = 1;

while($i<=$num) {

echo $thread.":".$i."\n";

$i++;

}

}

function start_thread($thread, $num) {

$pid = pcntl_fork();

#在父线程执行时返回创建的子进程pid,在子线程执行时返回0,创建子进程失败时会在父进程上下文返回-1

if($pid == 0) {

#子进程开始执行

test($thread, $num);

}elseif($pid == -1) {

echo "线程创建失败\n";

}else{

#父进程执行

test('main thread', 100);

}

}

start_thread('worker thread1', 100);

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: