libevent系列-基本了解

Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库。
libevent

1.特性

  • 事件驱动(event-driven),高性能;
  • 轻量级,专注于网络;
  • 源代码相当精炼、易读;
  • 跨平台,支持Windows、Linux、Mac Os;
  • 支持多种I/O多路复用技术, epoll、poll、dev/poll、select和kqueue等;
  • 支持I/O,定时器和信号等事件;
  • 注册事件优先级;

2. 功能

Libevent提供了事件通知,io缓存事件,定时器,超时,异步解析dns,事件驱动的http server以及一个rpc框架。

  • 事件通知:当文件描述符可读可写时将执行回调函数。
  • Io缓存:缓存事件提供了输入输出缓存,能自动的读入和写入,用户不必直接操作io。
  • 定时器:libevent提供了定时器的机制,能够在一定的时间间隔之后调用回调函数。
  • 信号:触发信号,执行回调。
  • 异步的dns解析:libevent提供了异步解析dns服务器的dns解析函数集。
  • 事件驱动的http服务器:libevent提供了一个简单的,可集成到应用程序中的HTTP服务器。
  • RPC客户端服务器框架:libevent为创建RPC服务器和客户端创建了一个RPC框架,能自动的封装和解封数据结构。

3.学习的好处

通过阅读libevent的源代码,能够更好地学习函数指针、c语言的多态支持、链表和堆等进阶编程基础以及对事件通知机制有更加深刻的理解。
下载libevent源码:
git clone git@github.com:nmathewson/Libevent.git

版权声明:本文为博主原创文章,转载需声明为转载内容并添加原文地址。

原文地址:http://coderdock.com

Dock wechat
欢迎您扫一扫上面的微信公众号,订阅我的公众号