Reactor 模式

针对传统阻塞 I/O 服务模型的 2 个缺点,解决方案:

I/O 复用模型:多个连接共用一个阻塞对象,应用程序只需要在一个阻塞对象上等待,无需阻塞等待所有连接。当某个连接有新的数据可以处理时,操作系统通知应用程序,线程从阻塞状态返回,开始进行业务处理。

Reactor 对应的叫法: 1. 反应器模式 2. 分发者模式(Dispatcher) 3. 通知者模式(notifier)

基于线程池复用线程资源模式:不必再为每个连接创建线程,将连接完成后的业务处理任务分配给线程进行处理,一个线程可以处理多个连接的业务。

I/O 复用结合线程池,就是 Reactor 模式基本设计思想

Reactor 模式,通过一个或多个输入同时传递给服务处理器的模式,(基于事件驱动)

服务器端程序处理传入的多个请求,并将它们同步分派到相应的处理线程, 因此Reactor模式也叫 Dispatcher模式

Reactor 模式使用IO复用监听事件, 收到事件后,分发给某个线程(进程), 这点就是网络服务器高并发处理关键

相关推荐
黑不溜秋的4 小时前
C++ 设计模式 - 策略模式
c++·设计模式·策略模式
付聪12106 小时前
策略模式介绍和代码示例
设计模式
ThereIsNoCode7 小时前
「软件设计模式」状态模式(State)
设计模式·状态模式
菜鸟一枚在这13 小时前
深入理解设计模式之代理模式
java·设计模式·代理模式
mjr15 小时前
设计模式-Java
java·设计模式
yuanpan15 小时前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
FLZJ_KL17 小时前
【设计模式】【创建型模式】单例模式(Singleton)
java·单例模式·设计模式
万兴丶20 小时前
Unity 适用于单机游戏的红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含源码)
数据结构·unity·设计模式·c#
菜鸟一枚在这20 小时前
深入剖析抽象工厂模式:设计模式中的架构利器
设计模式·架构·抽象工厂模式
码熔burning20 小时前
(三)趣学设计模式 之 抽象工厂模式!
设计模式·抽象工厂模式