怎么在PHP中使用pcntl实现多进程
作者
这期内容当中小编将会给大家带来有关怎么在PHP中使用pcntl实现多进程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
$max=800000;
$workers=20;
$pids=array();
for($i=0;$i<$workers;$i++){
$pids[$i]=pcntl_fork();
switch($pids[$i]){
case-1:
echo"forkerror:{$i}\r\n";
exit;
case0:
$param=array(
'lastid'=>$max/$workers*$i,
'maxid'=>$max/$workers*($i+1),
);
$this->executeWorker($input,$output,$param);
exit;
default:
break;
}
}
foreach($pidsas$i=>$pid){
if($pid){
pcntl_waitpid($pid,$status);
}
}这里当pcntl_fork出来以后,会返回一个pid值,这个pid在子进程中看是0,在父进程中看是子进程的pid(>0),如果pid为-1说明fork出错了。
上述就是小编为大家分享的怎么在PHP中使用pcntl实现多进程了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注恰卡编程网行业资讯频道。
目录
推荐阅读
-
Linux中如何安装和使用 PHP 开发环境
-
php字符串增加1如何实现
php字符串增加1如何实现这篇“php字符串增加1如何实现”文章的...
-
php如何判断字符串是否有中文
php如何判断字符串是否有中文本文小编为大家详细介绍“php如何判...
-
php如何实现字符串去掉头尾
php如何实现字符串去掉头尾这篇“php如何实现字符串去掉头尾”文...
-
php字符串的组成是什么
php字符串的组成是什么这篇文章主要讲解了“php字符串的组成是什...
-
php如何让Swoole/Pool进程池实现Redis持久连接
php如何让Swoole/Pool进程池实现Redis持久连接本篇...
-
php字符串长度不一致如何解决
php字符串长度不一致如何解决本篇内容主要讲解“php字符串长度不...
-
php时区不正确如何解决
php时区不正确如何解决本文小编为大家详细介绍“php时区不正确如...
-
php+fread()乱码如何解决
php+fread()乱码如何解决本篇内容介绍了“php+frea...
-
php explode报错如何解决
phpexplode报错如何解决这篇文章主要介绍“phpexp...
