swoole管道通信
Posted zh718594493
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swoole管道通信相关的知识,希望对你有一定的参考价值。
如果是非常简单的多进程执行任务,那么进程间就不需要通讯了,实际情况下,很多业务是需要通讯的,比如,发邮件,如果自进程发送失败了,那么是要通知主进程的等等。
swoole_process
进程间支持2种通信方式:
1、管道pipe
2、消息队列
管道通讯
半双工: 数据单向流动, 一端只读, 一端只写。
同步 vs 异步: 默认为同步阻塞模式, 可以使用 swoole_event_add()
添加管道到 swoole 的 event loop
中, 实现异步IO
管道通信是swoole_process
默认的一种通信方式。当然我们也可以在实例化的时候通过参数来设定:
$process = new SwooleProcess(‘callback_function‘, false, true);
如果我们打印$process
会发现,每次创建一个进程后,就会随之创建一个管道,主进程想和哪一个进程通信,就向那个进程的管道写入/读取数据。
管道有2个方法,分别来写入数据,和读取数据。
$process->write(‘数据‘);#写入数据
$process->read()#读取数据
以上是关于swoole管道通信的主要内容,如果未能解决你的问题,请参考以下文章