Reactor 模式

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

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

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

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

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

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

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

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

相关推荐
ok!ko6 小时前
设计模式之工厂模式(通俗易懂--代码辅助理解【Java版】)
java·开发语言·设计模式
AI让世界更懂你8 小时前
漫谈设计模式 [18]:策略模式
python·设计模式·策略模式
AI让世界更懂你9 小时前
漫谈设计模式 [7]:桥接模式
python·设计模式·桥接模式
夏目艾拉10 小时前
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
android·java·flutter·设计模式
不是仙人的闲人11 小时前
C++ 设计模式——解释器模式
c++·设计模式·解释器模式
一水鉴天19 小时前
闲话“设计模式”
设计模式
Code_Geo21 小时前
在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲
javascript·单例模式·设计模式
阿里巴啦1 天前
“设计模式双剑合璧:工厂模式与策略模式在支付系统中的完美结合”
设计模式·策略模式·工厂模式·支付系统·设计模式的使用
Magnetic_h1 天前
【iOS】MVC设计模式
学习·ui·ios·设计模式·mvc·objective-c
装不满的克莱因瓶2 天前
设计模式的七大基本原则
java·开发语言·设计模式