Netty-初入正题-Reactor介绍

线程模型基本介绍

不同的线程模型对性能的影响很大,我们必须要熟知各种线程模型。才能清楚的知道我们为什么要选择netty。

目前存在的线程模型

1.传统io阻塞模型。
2.Reactor 模型。

根据Reactor模型的数量和处理资源的线程池数量的不同,有3中典型实现。
1.单线程单Reactor。
2.单线程夺Reactor。
3.主从Reactor多线程。

Netty是在主从Reactor多线程模型中做了改进。有多个Reactor

传统io阻塞模型

工作原理图:
在这里插入图片描述

当并发数很大时,就会创建大量的线程模型。占用很大的系统资源。
任务创建连接后,如果当前线程没有数据可读,就会阻塞在read阶段,造成浪费。

Reactor模式

基于io复用模型,多个连接使用一个阻塞对象,应用程序只需要一个阻塞对象等待,无需阻塞等待所有连接。当某个连接有新的数据可以处理时,操作系统通知应用程序,线程从阻塞状态撤回,开始处理业务。
Reactor模式又被成为调用者模式,分发者模式或者通知者模式
不必为每个请求创建线程,而是采用分发处理。
IO复用结合线程池。
在这里插入图片描述
Reactor模式j通过一个或者多个输入同时传递给服务器的模式(基于事件)
服务器处理多个请求,并且把他们分配到相应的线程上去
Reactor模式使用io复用监听,收到事件后会把他们分发给多个线程,这是高并发性能处理所在

核心组成部分

Reactor:Reactor负责事件的监听,分发,是在一个单独的线程中执行的。
Handlers:负责执行真正要做的事。

模式分类

单Reactor单线程
单Reactor多线程
主从Reactor

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值