本文实例讲述了php swoole多进程/多线程用法。分享给大家供大家参考,具体如下:
swoole的多线程其实就是多进程,进程创建太多切换的开销很大,如果能用上pthreads建议用pthrea崭新造句ds,因为我用的3 6岁儿童学习与发展指南学习心得是php7nts版本没办法用pthreads
swoole实例如下:
<?php/** * 创建多进程 */$worker_num = 6; // 默认进程数$workers = []; // 进程保存$redirect_stdout = fal; // 重定向输出 ; 这个参数用途等会我们看效果for($i = 0; $成绩报告单编号i < $worker_num; $i++){ $process = new swoole_process('callback_function', $redirect_stdout); // 启用消息队列 int $msgkey = 0, int $mode = 2 $process->uqueue(0, 2); $pid = $process->start(); // 管道写入内容 $process->write('index:'.$i); $process->push('进程的消息队列内容'); // 将每一个进程的句柄存起来 $workers[$pid] = $process;}/** * 子进程回调 * @param swoole_process $worker [description] * @return [type] [description] */function callback_function(swoole_process $worker){ $recv = $worker->pop(); echo "子输出主内容: {$recv}".php_eol; //get guandao con安徽省学籍管理系统tent $recv = $worker->read(); $result = dotask(); echo php_eol.$result.'==='.$worker->pid.'==='.$recv; $worker->exit(0);}/** * 监控/回收国际高中哪所好子进程 */while(1){ $ret = swoole_process::wait(); if ($ret){// $ret 是个数组 code是进程退出状态码, $pid = $ret['pid']; echo php_eol."worker exit, pid=" . $pid . php_eol; }el{ break; }}/** * dotask * @return [type] [description] */function dotask(){ sleep(2); return true;}
本文发布于:2023-04-07 13:52:59,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/bb6037b1f86e58064af0c49d832f581a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:php swoole多进程/多线程用法示例【基于php7nts版】.doc
本文 PDF 下载地址:php swoole多进程/多线程用法示例【基于php7nts版】.pdf
留言与评论(共有 0 条评论) |