您的位置:首页 > 汽车 > 时评 > 广州比较好的互联网公司_中小企业网络营销存在的问题研究论文_友情链接交易_韶关seo

广州比较好的互联网公司_中小企业网络营销存在的问题研究论文_友情链接交易_韶关seo

2024/11/17 12:39:32 来源:https://blog.csdn.net/whf1215847706/article/details/143477554  浏览:    关键词:广州比较好的互联网公司_中小企业网络营销存在的问题研究论文_友情链接交易_韶关seo
广州比较好的互联网公司_中小企业网络营销存在的问题研究论文_友情链接交易_韶关seo

Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系

Master 进程

Master 进程是一个多线程进程

Reactor 线程

Reactor 线程是在 Master 进程中创建的线程
负责维护客户端 TCP 连接、处理网络 IO、处理协议、收发数据
不执行任何 PHP 代码
将 TCP 客户端发来的数据缓冲、拼接、拆分成完整的一个请求数据包

Worker 进程

接受由 Reactor 线程投递的请求数据包,并执行 PHP 回调函数处理数据
生成响应数据并发给 Reactor 线程,由 Reactor 线程发送给 TCP 客户端
可以是异步非阻塞模式,也可以是同步阻塞模式
Worker 以多进程的方式运行

TaskWorker 进程

接受由 Worker 进程通过 Swoole\Server->task/taskwait/taskCo/taskWaitMulti 方法投递的任务
处理任务,并将结果数据返回(使用 Swoole\Server->finish)给 Worker 进程
完全是同步阻塞模式
TaskWorker 以多进程的方式运行

Manager 进程

负责创建 / 回收 worker/task 进程

他们之间的关系可以理解为 Reactor 就是 nginx,Worker 就是 PHP-FPM。Reactor 线程异步并行地处理网络请求,然后再转发给 Worker 进程中去处理。Reactor 和 Worker 间通过 unixSocket 进行通信。

在 PHP-FPM 的应用中,经常会将一个任务异步投递到 Redis 等队列中,并在后台启动一些 PHP 进程异步地处理这些任务。Swoole 提供的 TaskWorker 是一套更完整的方案,将任务的投递、队列、PHP 任务处理进程管理合为一体。通过底层提供的 API 可以非常简单地实现异步任务的处理。另外 TaskWorker 还可以在任务执行完成后,再返回一个结果反馈到 Worker。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com