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);
?>