美文网首页
swoole--Process&&Event IO

swoole--Process&&Event IO

作者: 金星show | 来源:发表于2019-02-22 12:24 被阅读0次

一。进程间通信方式-管道


image.png

1.管道是一组(2个)特殊的描述符
2.管道需要在fork函数调用前创建
3.如果某一端主动关闭管道,另一端的读取操作会直接返回0

二。进程间通信方式-消息队列


image.png

1.通过指定key创建一个消息队列
2.在消息队列中传递的数据大小限制
3.消息队列会一直保留直到被主动关闭

三。IO多路复用


image.png
  1. epoll函数会监听注册在自己名下的所有的socket描述符
    2.当有socket感兴趣的事件发生时,epoll函数才会响应,并返回有事件发生的socket集合
    3.epoll的本质是阻塞IO,它的优点在于能同时处理大量的socket连接

四。Event Loop


image.png

1.Event Loop是一个Reactor线程,其中运行了一个epoll实例
2.可通过接口添加socket描述符到epoll监听中,并指定事件响应的回调函数
3.Event Loop不可用于FPM环境下

Q:为什么开启了event loop的程序会一直运行不停止?
开启Event Loop后,程序内会启动一个线程并一直阻塞在epoll的监听中,因此不会退出。

Q:如何关闭Event Loop?
调用swoole_event_exit函数即可关闭事件循环(注意,swoole_server程序中此函数无效)

五。Process


image.png

1.基于C语言封装的进程管理模块,方便PHP的多进程编程
2.内置管道,消息队列接口,可方便实现进程间通信
3.提供自定义信号管理

process实例 动态进程池
1.使用tick函数定时投递任务
2.动态进程池,根据任务执行的多少动态调整内存池大小

需要使用tick定时任务 swoole_process管道通信 event_loop事件循环

相关文章

  • swoole--Process&&Event IO

    一。进程间通信方式-管道 1.管道是一组(2个)特殊的描述符2.管道需要在fork函数调用前创建3.如果某一端主动...

  • 「基础知识总结」 IO模型

    IO模型 五种IO模型包括:阻塞IO、非阻塞IO、信号驱动IO、IO多路转接、异步IO。其中,前四个被称为同步IO...

  • Netty-基础篇(1)-网络IO,同步IO&异步IO,阻塞IO

    目录: 1、阻塞IO(Block IO)与非阻塞IO(Non-Block IO)1.1、阻塞IO(Block IO...

  • Epoll

    Linux IO类型 参考1参考2 同步IO Blocking IO 同步IO Nonblocking IO : ...

  • linux五种IO模型

    Linux下主要的IO主要分为:阻塞IO(Blocking IO),非阻塞IO(Non-blocking IO),...

  • Java中的IO模型

    Java中的IO模型 Java中的IO模型有四种: 同步阻塞IO 同步非阻塞IO IO多路复用 异步IO 其中IO...

  • 阻塞IO、非阻塞IO、IO复用、异步IO

    IO分为两个阶段:第一阶段是data的准备,第二阶段是从kernel拷贝到用户进程。 1.阻塞IO:两阶段都发生阻...

  • 同步IO/异步IO, 阻塞IO/非阻塞IO

    前提知识:用户态与内核态 开篇,我觉得应该先给这四个画一个等级。同步IO和异步IO是更高层次的一个划分,阻塞IO/...

  • 四、高性能IO模型浅析

    按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO;按照PO...

  • 五种 IO 模型

    五种 IO 模型 参考链接 一共有五种 IO 模型 阻塞 IO 非阻塞 IO 多路复用 IO 信号驱动 IO 异步...

网友评论

      本文标题:swoole--Process&&Event IO

      本文链接:https://www.haomeiwen.com/subject/pavfyqtx.html