Muduo网络库整体架构与分阶段解析

文章目录

    • Muduo网络库的Reactor模式
    • 整体框架说明
    • 分阶段解析


Muduo是一个基于Reactor模式的C++网络库。它采用非阻塞I/O模型,采用one loop per thread + thread pool架构实现,基于事件驱动和回调。我们不仅可以通过Muduo来学习linux服务端多线程编程,其采用的现代C++编程技术也是非常值得借鉴的。


Muduo网络库的Reactor模式

Reactor释义“反应堆”,是一种事件驱动机制。和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完成处理,而是恰恰相反,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并注册到Reactor上,如果相应的事件发生,Reactor将主动调用应用程序注册的接口,这些接口又称为“回调函数”。

Reactor,换个名词“non-blocking IO + IO multiplexing”,意思就显而易见了。Reactor模式用非阻塞IO+poll(epoll)函数来处理并发,程序的基本结构是一个事件循环,以事件驱动和事件回调的方式实现业务逻辑

Reactor模式的基础是事件驱动,事件源可以有多个,并且会并发地产生事件。

你可能感兴趣的:(C++程序设计)