PHP多进程 - 进程间通讯方式

消息队列

基于消息的模式适合单对单通讯,因为一条消息只能被一个对象消费,且是抢占的模式,所以不适合一对多通讯。
消费端需要轮训获取消息。

管道

管道是成对存在的,因此每创建一个进程都要创建一对管道,一端给自己,一端给对方。
管道分读端和写端,因此通讯是单向的,如果想实现双向通讯就得建立两对管道。
读端需要循环读取管道。

共享内存

PHP只提供了操作共享内存段的函数库。但是共享内存段是一种完全的公共资源,不太安全。

信号

信息量小,只能处理简单的事情。

信号量

一种计数器,用来实现进程间的加锁操作。

你可能感兴趣的:(PHP多进程 - 进程间通讯方式)