libevent_Rector模式

Reactor模式在高性能网络服务器中发挥关键作用,具备快速响应、编程简单、可扩展和可复用等优点。模式核心组件包括事件源、事件多路分发机制(如select、epoll)、Reactor(事件管理接口)和事件处理程序。libevent作为事件库,通过eventop封装不同系统的多路复用机制,提供统一接口。Reactor的事件处理流程涉及事件源注册、事件检测和回调函数调用。
摘要由CSDN通过智能技术生成

1.Reactor 模式是编写高性能网络服务器的必备技术之一,它具有如下的优点:

  •  响应快,不必为单个同步时间所阻塞,虽然 Reactor 本身依然是同步的;
  •  编程相对简单,可以最大程度的避免复杂的多线程及同步问题,并且避免了多线程/进程的切换开销;
  •  可扩展性,可以方便的通过增加 Reactor 实例个数来充分利用 CPU 资源;
  •  可复用性,reactor 框架本身与具体事件处理逻辑无关,具有很高的复用性;

2.模式框架必备组件:事件源、Reactor 框架、多路复用机制和事件处理程序

 1) 事件源

  • Linux 上是文件描述符,Windows 上就是 Socket 或者 Handle 了,这里统一称为“句柄集”;程序在指定的句柄上注册关心的事件,比如 I/O 事件。

2) event demultiplexer——事件多路分发机制

  • 由操作系统提供的 I/O 多路复用机制,比如 select 和 epoll。程序首先将其关心的句柄(事件源)及其事件注册到 event demultiplexer 上;
  • 当有事件到达时,event demultiplexer 会发出通知“在已经注册的句柄集中,一个或多个句柄的事件已经就绪”;
  • 程序
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值