libevent
维基百科,自由的百科全书
| 原作者 | Nick Mathewson, Niels Provos |
|---|---|
| 穩定版本 | 2.0.10/ 2010年12月16日 |
| 平台 | 跨平臺 |
| 語言 | C語言、C++ |
| 類型 | 函式庫 |
| 許可協議 | BSD許可證 |
| 網站 | http://www.monkey.org/~provos/libevent/ |
libevent是一個非同步事件處理軟體函式庫,以BSD許可證釋出。
libevent提供了一組應用程序編程介面(API),讓程式設計師可以設定某些事件發生時所執行的函式,也就是說,libevent可以用來取代網路伺服器所使用的事件迴圈檢查架構。
由於可以省去對網路的處理,且擁有不錯的效能,有些軟體使用libevent作為網路底層的函式庫,如:memcached、Tor。
[编辑] 支援程度
目前libevent支援以下的方式判斷事件的發生:
- poll(2)
- select(2)
- 幾乎所有的Unix平台都有提供的函式。
- /dev/pool
- 以Solaris平台為主。
- kqueue(2)
- 以BSD平台為主。
- epoll(2)
- 以Linux平台為主。
[编辑] 主要版本
- libevent 0.1(2000年11月4日):第一個公開版本。
- libevent 1.0(2004年12月5日),支援多執行緒。
- libevent 1.1(2005年5月14日)。
- libevent 1.2(2006年10月15日):支援DNS用戶端查詢函式、支援HTTP用戶端及伺服器端函式。
- libevent 1.3(2007年2月15日):支援DNS伺服器端函式。
- libevent 1.4(2008年4月7日):新的RPC子系統。將內部資料結構由紅黑樹改為堆(Heap)以增加效率。
- libevent 2.0(2009年11月19日)。
[编辑] 外部連結
- (英文) libevent,libevent的官方網站。
- (英文) The C10K problem,討論連線數破萬時會遇到的瓶頸。
- (英文) Libevent 2.0 book, libevent 2.0参考书籍
- (英文) liboop - another asynchronous event notification library,另一个异步事件库
- (英文) A benchmark by the libev author comparing libevent with libev, a similar library,libevent与一个类似的库libev之间比较的基准测试程序