libevent

libevent

libevent

维基百科,自由的百科全书

跳转到: 导航, 搜索

libevent

原作者 Niels Provos
最新版本 1.3e / 2007年9月24日
最新預覽版本 1.4.1-beta / 2007年12月21日
平台 跨平臺
語言 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)以增加效率。



ps: Kqueue 和Epoll相比好像效率也不错

你可能感兴趣的:(libevent)