码迷,mamicode.com
首页 > 其他好文 > 详细

swoole管道通信

时间:2020-02-02 13:48:52      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:消息队列   进程通信   添加   col   队列   span   通知   阻塞   pre   

如果是非常简单的多进程执行任务,那么进程间就不需要通讯了,实际情况下,很多业务是需要通讯的,比如,发邮件,如果自进程发送失败了,那么是要通知主进程的等等。

swoole_process进程间支持2种通信方式:

  1、管道pipe

  2、消息队列

管道通讯

半双工: 数据单向流动, 一端只读, 一端只写。
同步 vs 异步: 默认为同步阻塞模式, 可以使用 swoole_event_add() 添加管道到 swoole 的 event loop 中, 实现异步IO

技术图片

 

 管道通信是swoole_process默认的一种通信方式。当然我们也可以在实例化的时候通过参数来设定:

$process = new Swoole\Process(callback_function, false, true);

如果我们打印$process会发现,每次创建一个进程后,就会随之创建一个管道,主进程想和哪一个进程通信,就向那个进程的管道写入/读取数据。

管道有2个方法,分别来写入数据,和读取数据。

  1. $process->write(‘数据‘);#写入数据
  2. $process->read()#读取数据

swoole管道通信

标签:消息队列   进程通信   添加   col   队列   span   通知   阻塞   pre   

原文地址:https://www.cnblogs.com/zh718594493/p/12251681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!