Libevent源码分析(零)--- 前言
Posted 子曰帅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Libevent源码分析(零)--- 前言相关的知识,希望对你有一定的参考价值。
libevent是一个基于事件模型的网络库,它以高性能著称,使用也非常广泛,比如熟知的memcache就是使用libevent作为底层网络库的。笔者目前游戏服务器同样使用了libevent作为网关服务器和客户端交互的网络库,而服务器之间的通讯则使用了zeromq。
libevent的介绍网上比较多,基本有以下几个特点:
事件驱动,高性能
高性能是libevent最重要的特性,后续源码分析中我们将分析为何libevent会如此高效。
轻量级,专注于网络
笔者使用过ace,也读过一些ace的源码,ace功能太多,代码组织也相对混乱,和ace相比,libevent专注于网络,代码精炼、易读。
支持多种 I/O多路复用技术, epoll、poll、dev/poll、select 和kqueue 等
和zeromq一样,libevent同样可以跨平台使用,支持多种io模型,但是相比于zeromq在windows上支持select,libevent在windows上支持iocp,这对效率是非常大的提升。
支持 I/O,定时器和信号等事件
libevent把io事件,定时器事件和信号事件三者都封装成了时间,对于上层使用者几乎没有差异,非常便捷,这也是我们将在之后的源码分析中重点分析的部分。
以上是关于Libevent源码分析(零)--- 前言的主要内容,如果未能解决你的问题,请参考以下文章