栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【阅读】《Linux高性能服务器编程》——第十二章

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【阅读】《Linux高性能服务器编程》——第十二章

高性能I/O框架库libevent
  • 12.1 I/O框架库概述
  • 12.2 Libevent源码分析

12.1 I/O框架库概述

  基于Reactor模式的I/O框架库包含组件:句柄、事件多路分发器、具体事件处理器、Reactor。

  • 句柄:I/O框架库要处理的对象,即I/O事件、信号和定时器,统一称为事件源。一个事件源通常和一个句柄绑定在一起。当内核检测到就绪事件时,通过句柄来通知应用程序。
  • 时间多路分发器:事件的到来是随机的、异步的,因此程序需要循环地等待并处理事件,即事件循环。等待事件通常使用I/O复用技术来实现,I/O框架库一般将支持各种I/O服用系统调用封装成统一接口,称为事件多路分发器。
  • 事件处理器:事件处理器执行事件对应的业务逻辑,通常包含一个或多个handle_event回调函数。I/O框架库提供的事件处理器通常是一个接口,需要继承它来实现自己的事件处理器。因此事件处理器的回调函数一般被声明为虚函数。一般还提供get_handle方法,返回与该事件关联的句柄。
  • Reactor:handle_event(该方法执行事件循环,过程为:等待时间、处理所有就绪事件对应的事件处理器);register_handler(该方法调用时间多路分发器地register_event方法来往事件多路分发器中注册一个事件);remove_handler(该方法调用时间多路分发器地remove_event方法来删除事件多路分发器中的一个事件)。


12.2 Libevent源码分析

Libevent特点:

  • 跨平台支持;
  • 统一事件源;
  • 线程安全;
  • 基于Reactor模式实现。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333991.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号