【开源Libevent篇章一】简介和安装

一、 libevent简介


1. libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。
2. 著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。
3. libevent支持用户使用三种类型的事件,分别是网络IO、定时器、信号三种,在定时器的实现上使用了小根堆的数据结构,
以达到高效查找、排序、删除定时器的目的,网络IO上,主要关注了一下linux上的epoll(因为目前的开发主要在linux平台)。

二、 libevent安装


1. libevent-1.4.12-stable.tar.gz 拷贝到linux目录下,解压
2. 进入目录执行:./configure && make    make install


三、 libevent目录


1. 头文件,event.h:事件宏定义、接口函数声明,主要结构体event的声明
2. 内部头文件, xxx-internal.h:内部数据结构和函数,对外不可见
3. libevent框架, event.c:event整体框架的代码实现
4. 系统I/O多路复用机制的封装,epoll.c,select.c,devpoll.c,kqueue.c
5. 定时事件管理, min-heap.h:其实就是一个以时间作为key的小根堆结构
6. 信号管理, signal.c:对信号事件的处理
7. 辅助功能函数, evutil.h 和evutil.c
8. 日志,log.h和log.c
9. 缓冲区管理, evbuffer.c和buffer.c
10.基本数据结构, compat/sys
11. 实用网络库,http和evdns:是基于libevent实现的http服务器和异步dns查询库


四、 libevent源码下载


点我

libevent-1.4.9-stable.zip(包含中文注释)

libevent-1.4.12-stable.tar.gz(例子使用的版本)


备注:文章都是通过网络上的资料,并加上自己的理解汇总而来,很多已经不清楚出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值