博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(P30)muduo_base库源码分析:EventLoopThread
阅读量:4299 次
发布时间:2019-05-27

本文共 588 字,大约阅读时间需要 1 分钟。

文章目录

1.EventLoopThread

  • 任何一个线程,只要创建并运行了EventLoop,都称之为IO线程

  • IO线程不一定是主线程

  • muduo并发模型one loop per thread + threadpool

    (1)一个程序有多个IO线程,这些IO线程可以使用IO线程池来管理。所以是IO线程池(主要处理IO事件,调用EventLoop.runInLoop()也可以执行计算任务)+计算线程池(计算任务)
    (2)IO线程池所对应的类是EventLoopThreadpool类

  • 为了方便今后使用,定义了EventLoopThread类,该类封装了IO线程,功能:

    (1)EventLoopThread创建了一个线程
    (2)在线程函数中创建了一个EvenLoop对象并调用EventLoop::loop,处于事件循环的状态

  • eg:30\jmuduo\muduo\net\EventLoopThread.h

    30\jmuduo\muduo\net\EventLoopThread.cc
    30\jmuduo\muduo\net\CMakeLists.txt
    30\jmuduo\muduo\net\TimerQueue.cc

  • eg测试:30\jmuduo\tests\Reactor_test06.cc

    30\jmuduo\tests\CMakeLists.txt

  • 测试:

    在这里插入图片描述

转载地址:http://lmiws.baihongyu.com/

你可能感兴趣的文章
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
查看>>
点击button实现Storyboard中TabBar Controller的tab切换
查看>>
Xcode 的正确打开方式——Debugging
查看>>
打包app出现的一个问题
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
Expanding User-Defined Runtime Attributes in Xcode with Objective-C
查看>>
iOS7 UITabBar自定义选中图片显示为默认蓝色的Bug
查看>>
提升UITableView性能-复杂页面的优化
查看>>
25 iOS App Performance Tips & Tricks
查看>>
那些好用的iOS开发工具
查看>>
iOS最佳实践
查看>>
使用CFStringTransform将汉字转换为拼音
查看>>
更轻量的 View Controllers
查看>>
Chisel-LLDB命令插件,让调试更Easy
查看>>
时间格式化hh:mm:ss和HH:mm:ss区别
查看>>
When to use Delegation, Notification, or Observation in iOS
查看>>
Objective-C Autorelease Pool 的实现原理
查看>>
编程语言大牛王垠:编程的智慧,带你少走弯路
查看>>
ios指令集以及基于指令集的app包压缩策略
查看>>
iOS开发者的福利 — — iOS9+Xcode7免越狱免证书直接调试
查看>>