进程间通信进程间通信(IPC,Inter-Process Communication),多进程开发中,进程间通信是一个永远也绕不开的问题。在 web开发中,我们经常遇到的并发请求问题,本质上也可以作为进程间通信来处理。
根据定义可知,要进行进程间通信,我们需要解决两个问题:
文章介绍的中心就是围绕着这么两点来说的, 为了更使文章更简明,这边以之前在公司做的一个需求为例: 需要一个循环ID生成器,循环生成从 Min 到 Max 的数字ID,在ID递增到 Max 后,返回到 Min 重新开始递增;必须能保证多个进程并发请求时生成的ID不同。 此需求要解决的问题恰好为我们要解决的进程间通信需要解决的两个问题:
本文通过此需求的不同实现,来介绍通过外部介质进行的进程间通信的方式。另外,不只PHP语言,其他语言也能使用这些方法。 文章如有错漏之处,烦请指出,如果您有更优的办法,欢迎在下面留言讨论。 文件flock文件是最基本的存储介质,它当然可以作为消息的传输通道来使用。文件的存取各种语言都有各自的多种方案,问题点是多进程并发时的冲突问题。 解决存取冲突问题我们使用PHP的
|
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|