2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php如何实现多进程

php如何实现多进程

时间:2019-06-21 19:08:54

相关推荐

php如何实现多进程

后端开发|PHP问题

php,多进程

后端开发-PHP问题

唧唧帝源码,vscode c 求和,ubuntu 宝塔,tomcat lib 路径,sqlite3管理,web插件源码下载,前端实现在线word框架,和爬虫有关的节日,php 解析js,seo网络推广专业,菠菜网站源代码,ajax网页聊天,织梦专题单页面模板下载lzw

贴吧源码下载,.vscode文件夹在哪里打开,ubuntu 快捷启动,jar 包运行在tomcat上,sqlite 查询所有,网页设计字体用什么软件,服务器搭建虚拟主机,dedecms 图集插件,java前端框架boots,python爬虫项目实例,php数组增加,怎么给网站做seo,网站模板下载后如何使用,网页星空代码,织梦大气模板,日历手机页面,分销管理系统免费版,易语言图片插入程序lzw

php多进程需要pcntl,posix扩展支持。

html仿微信聊天源码,ubuntu的退出命令,爬虫传递请求负载,PHP内部,本站seo好吗lzw

多进程实现只能在cli模式下,在web服务器环境下,会出现无法预期的结果。

(推荐视频教学:php视频教学)

多进程核心函数:

pcntl_fork(创建子进程)、pcntl_wait(阻塞当前进程)

详细介绍:

pcntl_fork:

一次调用两次返回,在父进程中返回子进程pid,在子进程中返回0,出错返回-1。

pcntl_wait ( int &$status [, int $options ] ):

阻塞当前进程,直到任意一个子进程退出或收到一个结束当前进程的信号,注意是结束当前进程的信号,子进程结束发送的SIGCHLD不算。使用$status返回子进程的状态码,并可以指定第二个参数来说明是否以阻塞状态调用

阻塞方式调用的,函数返回值为子进程的pid,如果没有子进程返回值为-1;

非阻塞方式调用,函数还可以在有子进程在运行但没有结束的子进程时返回0。

pcntl_waitpid ( int $pid , int &$status [, int $options ] )

功能同pcntl_wait,区别为waitpid为等待指定pid的子进程。当pid为-1时pcntl_waitpid与pcntl_wait 一样。在pcntl_wait和pcntl_waitpid两个函数中的$status中存了子进程的状态信息。

(相关教学推荐:php图文教学)

举例:

php中一个始终保持固定个数的子进程在跑。

根据需求使用pcntl_fork(创建子进程)、pcntl_wait(阻塞当前进程)等核心函数

代码实现:

= $maxChildPro) { pcntl_wait($status); } } else {//子进程运行代码 $s = rand(2, 6); sleep($s); echo "child sleep $s second quit", PHP_EOL; exit; }}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。