Libevent 学习零:Libevent 简介
以下是百度百科上关于 Libevent 的简介:
Libevent 是一个用 C 语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:
- 事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;
- 源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;
- 支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;
- 支持 I/O,定时器和信号等事件;
- 注册事件优先级。
Libevent 已经被广泛的应用,作为底层的网络库;比如 memcached、 Vomit、 Nylon、 Netchat 等等。
说白了,Libevent 就是一个功能很强大、应用很广泛的 C 语言库,主要用于网络编程,提高网络通信的效率,用于解决 C10K 的问题。当然,也有一些与 Libevent 相类似的库,比如
- Libev :Libevent的简化版,貌似已停止更新,且不支持 Windows。
- Libuv :Node.js 底层使用的网络库,也很强大,文档也比较完善。
- Libhv :寓意高性能的事件循环 High-performance event loop library,名称起的比较牛,还是国产开源库,网上有一位大牛还专门写了 一系列博客教程 ,以后可用好好研究一下。
事先说明,这一系列的文章是为了记录学习 Libevent 的过程,已实践为主,不会太注重理论知识,只会做一些简单的参考说明 。
参考资料: