php消息队列如何实现
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天小编给大家分享一下php消息队列如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
千家信息网最后更新 2026年11月01日php消息队列如何实现
今天小编给大家分享一下php消息队列如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
说明
1、消息队列是存放在内存中的一个队列。
2、由于消息队列去数据是,只有一个进程能去到,所以不需要额外的锁或信号量。
实例
echo "parent progress pid:{$parentPid}\n";$childList = array();// 创建消息队列,以及定义消息类型(类似于数据库中的库)$id = ftok(__FILE__,'m');$msgQueue = msg_get_queue($id);const MSG_TYPE = 1;// 生产者function producer(){ global $msgQueue; $pid = posix_getpid(); $repeatNum = 5; for ( $i = 1; $i <= $repeatNum; $i++) { $str = "({$pid})progress create! {$i}"; msg_send($msgQueue,MSG_TYPE,$str); $rand = rand(1,3); sleep($rand); }}// 消费者function consumer(){ global $msgQueue; $pid = posix_getpid(); $repeatNum = 6; for ( $i = 1; $i <= $repeatNum; $i++) { $rel = msg_receive($msgQueue,MSG_TYPE,$msgType,1024,$message); echo "{$message} | consumer({$pid}) destroy \n"; $rand = rand(1,3); sleep($rand); }}function createProgress($callback){ $pid = pcntl_fork(); if ( $pid == -1) { // 创建失败 exit("fork progress error!\n"); } else if ($pid == 0) { // 子进程执行程序 $pid = posix_getpid(); $callback(); exit("({$pid})child progress end!\n"); }else{ // 父进程执行程序 return $pid; }}// 3个写进程for ($i = 0; $i < 3; $i ++ ) { $pid = createProgress('producer'); $childList[$pid] = 1; echo "create producer child progress: {$pid} \n";}// 2个写进程for ($i = 0; $i < 2; $i ++ ) { $pid = createProgress('consumer'); $childList[$pid] = 1; echo "create consumer child progress: {$pid} \n";}// 等待所有子进程结束while(!empty($childList)){ $childPid = pcntl_wait($status); if ($childPid > 0){ unset($childList[$childPid]); }}echo "({$parentPid})main progress end!\n";以上就是"php消息队列如何实现"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
消息
队列
进程
知识
篇文章
内容
数据
程序
不同
很大
信号
内存
只有
大部分
实例
就是
数据库
更多
消费者
生产者
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技工作委员会主任
中关村互联网科技集团
金融科技还是互联网
互联网的科技创新
互联网科技革命
互联网科技网站
互联网科技美容
上海卓越科技 互联网
互联网之后的科技是什么
须眉科技是互联网公司吗
互联网经济与金融科技
上海宁丞科技互联网
搜狐科技互联网
互联网公司黑科技创始人
锡山区互联网智能科技产品供应
皮皮虾互联网科技有限公司
张召忠谈中国互联网科技
易企秀互联网科技是做什么的
宁波跨境商互联网科技有限公司
互联网科技接地气
互联网科技公司排名
港股互联网科技股
智慧科技互联网
善班互联网科技有限公司
奔汉互联网科技
金融科技与互联网金融相同和不同
无锡工业互联网科技有限公司
广东工业互联网大赛深圳学泰科技
美国互联网科技公司
中国主要互联网科技公司