php进程间通信 yoc_PHP 进程间通信各种通信方式间的优劣之分??

目前我所了解的进程间通信的方式有:

1. PHP 消息队列(sysvmsg 扩展)

我的理解: 消息是一次性消耗品。一个进程向消息队列发送消息后,这个消息只能够被另一个进程接收,接收后,这个消息就彻底从消息队列中被去除了,其他进程就无法在访问了,所以,我认为消息队列是一次性消耗品。不适用于一个进程向多个进程广播内容的这种情况,不是很理想....

2. 信号量 + 共享内存

我的理解: 信号量实现资源的互斥,共享内存实现进程间通信。但是我担心,共享内存受到内存大小限制,或许不适用于某些场景。

3. 管道(有名管道,无名管道暂时不知道如何创建)

我的理解: 管道每次都是想管道文件末尾添加内容,读取的时候却只能从头读取到尾部,且在读取管道数据的时候,若是 提供了读取长度的条件,那么在管道内容的数据不足这个长度的时候,其会等到管道的内容有足够的内容时,才能够读取到内容,读取的时候,内容大多是被截断的这种情况.....非常令人无语!

4. socket 通信

前一段时间了解过,都是游离在表层,连自己的理解都谈不上...汗!

问题1:

以上的理解纯属个人理解,都是从实际写代码,看结果,得到的认知,具体正确性未知。麻烦先做一下指正分析,谢谢。

问题2:

不知道还有没有其他的进程间通信方式??

问题3:

请精简分析下各进程间通信方式的优缺点、用途(很重要...方式越多,选择性越多,选择难度越大!)

问题4:

我之所以了解PHP-cli,Linux,shell,pcntl等多进程扩展,进程间通信方式等,其最终目的是想:实现类似 QQ 的通信功能。而做这个功能我个人觉得应该可以极大程度的提高对高并发的认知(因为可以用多进程来模拟高并发,到时无论是cpu占用率,内存,数据库性能肯定都会暴露出令人感兴趣的表现),以及如何测量一个网站的访问规模(应该高并发下的网站表现,就确定了其访问规模大小),最重要的是还是对网络通信会有较深入的了解吧....请结合前面我所描述的假想,劳烦分析其正确性及可执行性,最好还是能提供较完备的实现 通信功能 所需的相关技术,谢谢...!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值