您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页浅析muduo网络库之Poller在哪里调用——EventLoo

浅析muduo网络库之Poller在哪里调用——EventLoo

来源:伴沃教育

直接上代码

void EventLoop::loop()
{
  
  while (!quit_)
  {
   // 调用poll
    pollReturnTime_ = poller_->poll(kPollTimeMs, &activeChannels_);



    for (ChannelList::iterator it = activeChannels_.begin();
        it != activeChannels_.end(); ++it)
    {
      currentActiveChannel_ = *it;
      currentActiveChannel_->handleEvent(pollReturnTime_);
    }

  }
}

再说点事

调用poll之后,获取到有事件的通道的集合。
这些事件需要及时处理,因此有handleEvent

      currentActiveChannel_->handleEvent(pollReturnTime_);

最后一句

这是个大循环,因此EventLoop会处理Poll的所有事件,
只要在其他地方把需要监听的通道放进去就可以了。

 while (!quit_)
{
}

打赏

如果这篇文章解决了您的问题,让我买根烟抽抽。

支付宝.jpg 微信.jpg

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务