自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 muduo--EventLoop处理线程安全的问题

  为了方便用户使用定时器接口,增加了几个函数,这几个函数都转而调用TimeQueue::addTimer(),这几个函数没有做特别的处理,是允许跨线程使用。   这样一来会带来线程安全性方面的问题,muduo的解决方法不是加锁,而是把对TimeQueue的操作转移到IO线程来进行,EventLoop::runInLoop(const Functor& cb)函数,参数cb是回调函...

2018-07-26 14:14:21 787

原创 muduo--TimerQueue定时器

传统的Reactor是通过控制select和poll的等待时间来实现定时,libevent中就是这么实现的,现在Linux中提供了timerfd,timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,所以能够被用于select/poll的应用场景,采用文件描述符实现定时有利于统一事件源。主要有几个类-----Timer定时器包含...

2018-07-17 16:12:40 284

原创 muduo--Reactor的关键构成

Reactor(muduo中主要涉及Eventloop,Poller,Channel)一个事件循环对应一个IO线程,IO线程执行EventLoop事件主循环,该主循环loop调用IO复用器poller监听事件集合,并将就绪事件通过事件分发器Channel执行相应的事件回调。1、Eventloop事件循环:反应器(reactor):负责IO和定时器事件的分派。关键函数:void EventLoop:...

2018-07-08 21:29:01 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除