swooleprocessexample
$workers= [];
$worker_num=2;
for($i=0;$i<$worker_num;$i++)
{
$process=newswoole_process('callback_function',false,false);
$process->useQueue();
$pid=$process->start();
$workers[$pid] =$process;
//echo "Master: new worker, PID=".$pid."\n";
}
functioncallback_function(swoole_process$worker)
{//子进程要处理的逻辑
//echo "Worker: start. PID=".$worker->pid."\n";
//recv data from master
$recv=$worker->pop();//子进程结束从主进程传过来的数据(2)
echo"From Master:$recv\";
$worker->push(" hehe \n");//这里子进程向主进程发送 hehe(3)
// sleep(2);//注意这里有个sleep
$worker->exit(0);
}
//向子进程通信
foreach($workersas$pid=>$process)
{
$process->push("hello worker[$pid]\");//主进程向子进程发生数据(1)
sleep(3);
$result=$process->pop();//主进程接收从子传过来的数据(4)
echo"From worker:$result\";//这里主进程,接受到的子进程的数据
}
for($i=0;$i<$worker_num;$i++)
{
$ret= swoole_process::wait();//回收结束运行的子进程(5)
$pid=$ret['pid'];
unset($workers[$pid]);
echo"Worker Exit, PID=".$pid.PHP_EOL;
}
专注于为中小企业提供做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业临邑免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
运行结果:
例子1:
例子2:
文章名称:swooleprocessexample
URL分享:http://scyingshan.cn/article/pspocc.html