Muduo网络库源码剖析 | 事件循环线程EventLoopThread和EventLoopThreadPool类

文章目录

    • EventLoopThread类剖析(事件循环线程类)
    • EventLoopThreadPool剖析(事件驱动循环线程池类)


EventLoopThread类剖析(事件循环线程类)

Muduo的并发模型为 one loop per thread + threadpool(计算线程池),为了方便今后使用,定义了EventLoopThread类,该类封装了I/O线程

EventLoopThread创建了一个线程,在线程函数中创建了一个EvenLoop对象并调用EventLoop::loop()开启事件循环。

多个I/O线程可以用I/O线程池来管理,对应的类是EventLoopThreadPool,我们在后面进行剖析。

/***************************************************************
 * Date:2019-08-01
 * Description : EventLoopThread 专门创建一个线程用于执行Reactor的事
 * 件循环,是辅助类,并非必须要使用的,完全由用户自己决定。
 * 若不创建线程去执行事件循环,那么就在主线程中执行事件循环,由主线程
 * 来监听所有的文件描述符。
 *
 * EventLoopThread这个类的作用就是开启一个线程,但是这个线程中有一个
 * EventLoop,并且让这个Event

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