怎么在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...