位置: 编程技术 - 正文
推荐整理分享PHP多进程编程实例详解(php多进程处理大数据),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php进程数,php多进程写入文件,php 多进程,php是多进程还是单进程,php 多进程 多线程,php多进程写入文件,php是多进程还是单进程,php 多进程 多线程,内容如对您有帮助,希望把文章链接给更多的朋友!
本文实例讲述了PHP多进程编程。分享给大家供大家参考,具体如下:
第一步:
$ php -m 命令查看php是否安装pcntl 和 posix扩展,若没有则安装
使用场景:
1. 要进行大量的网络耗时的操作2. 要做大量的运算,并且,系统有多个cpu,为了让用户有更快的体验,把一个任务,分成几个小任务,最后合并。
多进程常用函数:
pcntl_alarm — 为进程设置一个alarm闹钟信号pcntl_errno — 别名 pcntl_strerrorpcntl_exec — 在当前进程空间执行指定程序pcntl_fork — 创建子进程,在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0。pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failedpcntl_getpriority — 获取任意进程的优先级pcntl_setpriority — 修改任意进程的优先级pcntl_signal_dispatch — 调用等待信号的处理器pcntl_signal — 安装一个信号处理器pcntl_sigprocmask — 设置或检索阻塞信号pcntl_sigtimedwait — 带超时机制的信号等待pcntl_sigwaitinfo — 等待信号pcntl_strerror — Retrieve the system error message associated with the given errnopcntl_wait — 等待或返回fork的子进程状态pcntl_waitpid — 等待或返回fork的子进程状态pcntl_wexitstatus — 返回一个中断的子进程的返回代码pcntl_wifexited — 检查状态代码是否代表一个正常的退出。pcntl_wifsignaled — 检查子进程状态码是否代表由于某个信号而中断pcntl_wifstopped — 检查子进程当前是否已经停止pcntl_wstopsig — 返回导致子进程停止的信号pcntl_wtermsig — 返回导致子进程中断的信号
实例一:
实例二:开多个子进程,避免fork泛滥
注意:
通过pcntl_XXX系列函数使用多进程功能。注意:pcntl_XXX只能运行在php CLI(命令行)环境下,在web服务器环境下,会出现无法预期的结果,请慎用!
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
php实现的pdo公共类定义与用法示例 本文实例讲述了php实现的pdo公共类定义与用法。分享给大家供大家参考,具体如下:db.class.php:phpclassdbextendsPDO{privatestatic$_instance=null;protected$dbName='';pro
php脚本守护进程原理与实现方法详解 本文实例讲述了php脚本守护进程原理与实现方法。分享给大家供大家参考,具体如下:思路:1.while循环,若当前没有数据要操作可以休眠;2.crontab脚本
php检测mysql表是否存在的方法小结 本文实例讲述了php检测mysql表是否存在的方法。分享给大家供大家参考,具体如下:pdo:php$dsn='mysql:dbname=test;host=.0.0.1';$user='root';$password='';try{$pdo=newPDO($
标签: php多进程处理大数据
本文链接地址:https://www.jiuchutong.com/biancheng/289170.html 转载请保留说明!友情链接: 武汉网站建设