Muduo 学习笔记之Reactor框架源码解析

在上一篇博文中介绍了muduo的总体框架,本篇博文将会介绍Reactor的实现原理以及源码解析。在看本篇博文之前请先看上一篇博文——Reactor框架总览https://blog.csdn.net/qq_40832456/article/details/101718179

EventLoop

事件循环。moduo的线程模型为one loop per thread,即每个线程只能有一个EventLoop对象。EventLoop对象的生命周期通常和其所属的线程一样长。

源码剖析:

Muduo 学习笔记之Reactor框架源码解析_第1张图片
Muduo 学习笔记之Reactor框架源码解析_第2张图片
设计之初EventLoop里面成员很少,只有一个threadId_用于记住当前线程的tid,因为one loop per Thread的思想嘛,EventLoop主要用于确认只能有一个线程拥有它。包括里面loop()的内容都是空的。
在将Poller和Channel的功能基本完成后往EventLoop里面加了点东西:

你可能感兴趣的:(Muduo网络库,Muduo源码解析,EventLoop,Poller,Channel)