Reactor和Proactor

本文深入探讨了Reactor和Proactor模型在并发编程中的应用。Reactor是IO多路复用的一种封装,常见于Linux系统的epoll实现,它通过单线程或多线程的方式处理网络事件。而Proactor则更进一步,采用异步I/O模型,如Boost.ASIO库中的实现。文章列举了不同项目中Reactor模型的实现方式,并分析了它们的优缺点。同时,还介绍了Redis中的事件循环器AE及其网络模型。

0.阅读引用

Reactor文档 

projectreactor.io

Reactor模型

Reactor模式详解及 三种模式演变

小林的Reactor和Proactor

Muten-事件循环器AE

有网络编程发展史图解

Boost的Proactor

Boost ASIO proactor 浅析

Redis中的AE

Redis网络模型图解

1.初识Reactor

1.1 一句话总结

实际上是对epoll等IO多路复用模型的一个封装,在linux上,其实是对epoll的一个封装.  Reactor,反应堆,是对每一个网络事件进行反应.

 int op = eventLoop->events[fd].mask == AE_NONE ? EPOLL_CTL_ADD : EPOLL_CTL_MOD;

1.2 目前被各家开源项目所采用的解决方案

1.2.1 单Reactor单线程(进程)

1.2.2 单Reactor多线程(进程)

1.2.3 多Reactor多线程(进程)

2.Proactor

2.1 boost库中的实现

/home/muten/module/boost_1_75_0/boost/asio/detail

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值