Reactor 模式

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

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

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

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

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

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

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

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

相关推荐
Asort3 小时前
JavaScript设计模式(十四)——命令模式:解耦请求发送者与接收者
前端·javascript·设计模式
秉承初心4 小时前
Java 23种设计模式的详细解析
java·设计模式
TsengOnce5 小时前
设计模式(解释器模式(Interpreter Pattern)结构|原理|优缺点|场景|示例
设计模式·解释器模式
猫头虎6 小时前
OpenAI发布构建AI智能体的实践指南:实用框架、设计模式与最佳实践解析
人工智能·设计模式·开源·aigc·交互·pip·ai-native
昨天的猫7 小时前
项目中原来策略模式这么玩才有意思😁😁😁
设计模式
Mr_WangAndy7 小时前
C++设计模式_行为型模式_迭代器模式Iterator
c++·设计模式·迭代器模式
白衣鸽子7 小时前
【基础数据篇】数据遍历大师:Iterator模式
后端·设计模式
muxin-始终如一7 小时前
系统重构过程以及具体方法
设计模式·重构
Mr_WangAndy20 小时前
C++设计模式_行为型模式_责任链模式Chain of Responsibility
c++·设计模式·责任链模式·行为型模式
星空寻流年20 小时前
设计模式第七章(责任链模式)
设计模式·责任链模式