首页 > 其他 > 详细

muduo源码分析---EventLoopThread

时间:2014-03-27 20:17:10      阅读:465      评论:0      收藏:0      [点我收藏+]
这个类只有两个对外接口的函数,一个构造函数,一个开始Loop的函数
类的内部成员:
        一个Loop指针 loop_(说明内部并没有实例化EventLoop)
        一个线程  thread_
        一个锁    Mutex
         一个条件变量 cond_
        一个初始化回调 callback_
EventLoopThread初始化传递的是函数回调,同时开启一个线程,线程函数运行的就是实例化一个EventLoop,并让这个EventLoop进入到loop状态。
        线程运行的函数为threadFunc,内部已经定义好,threadFunc内部初始化一个EventLoop,运行EventLoopThread内的回调callback_,将刚定义好的loop传入这个回调(现在这个回调肯定是EventLoopThread的拥有者注册进去的,然后EventLoopThread也就有了一个EventLoop,使用loop_指向他,在这个线程中这个EventLoop一直出于loop()状态)
        但是是谁启开了运行threadFunc这个函数呢?是EventLoopThread中的thread_.start()函数,开启之后,就反悔了一个EventLoopThread线程中管辖的那个EventLoop
        简而言之:
        EventLoopThread这个类的作用就是开启一个线程,但是这个线程中有一个EventLoop,并且让这个EventLoop处于loop()状态,在上篇文章中折腾了很久分析EventLoop,竟然在一个线程中开启了一个这么庞大的东西!!!!!!
        (假如在主程序中实例化一个EventLoopThread,那么主函数的threadid和EventLoopThread内部的EventLoop所处线程的threadid就不一样)

muduo源码分析---EventLoopThread,布布扣,bubuko.com

muduo源码分析---EventLoopThread

原文:http://blog.csdn.net/yusiguyuan/article/details/22289213

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!