worker进程和task进程区别_Swoole中的几个进程:Reactor、Worker、Task

本文详细介绍了Swoole中的四种核心进程:Manager负责子进程管理和回收,Reactor线程处理网络IO,Worker进程执行PHP回调处理请求,Task进程处理异步任务。它们共同协作,提供了高性能的异步、非阻塞的服务模型。在Swoole中,进程间的通信和生命周期管理有明确的分工,确保了服务的稳定和高效。
摘要由CSDN通过智能技术生成

Swoole的进程

Swoole中有几种进程,分别是:Manager、Reactor线程、Worker、TaskWoker

根据官方文档的介绍,分别介绍

Manager进程

swoole中worker/task进程都是由Manager进程Fork并管理的。

子进程结束运行时,manager进程负责回收此子进程,避免成为僵尸进程。并创建新的子进程

服务器关闭时,manager进程将发送信号给所有子进程,通知子进程关闭服务

服务器reload时,manager进程会逐个关闭/重启子进程

Reactor线程

负责维护客户端机器的TCP连接、处理网络IO、收发数据

完全是异步非阻塞的模式

全部为C代码,除Start/Shudown事件回调外,不执行任何PHP代码

将TCP客户端发来的数据缓冲、拼接、拆分成完整的一个请求数据包

Reactor以多线程的方式运行

Worker进程

接受由Reactor线程投递的请求数据包,并执行PHP回调函数处理数据

生成响应数据并发给Reactor线程,由Reactor线程发送给TCP客户端

可以是异步非阻塞模式,也可以是同步阻塞模式

Worker以多进程的方式运行

当一个Worker进程被成功创建后,会调用onWorkerStart回调,随后进入事件循环等待数据。当通过回调函数接收到数据后,开始处理数据。如果处理数据过程中出现严重错误导致进程退出,或者Worker进程处理的总请求数达到指定上限,则Worker进程调用onWorkerStop回调并结束进程。

Task进程<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值