热门问题
时间线
聊天
视角

kqueue

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

Remove ads

kqueue 是一種可擴展的事件通知接口。2000 年 7 月發布的 FreeBSD 4.1 中首次引入了 kqueue[1],隨後也被 NetBSDOpenBSDmacOS 等操作系統支持。

kqueue 在內核用戶空間之間充當輸入輸出事件的管線。因此在事件循環的迭代中,進行一次 kevent(2) 系統調用不僅可以接收未決事件,還可以修改事件過濾器。

另見

支持 kqueue 且與操作系統無關的庫:

其它平台上與 kqueue 等價的庫:

  • Solaris、Windows、AIX:IOCP
  • Linux:
    • epoll 系統調用語義類似,但並不完全相同。epoll 在文件描述符可進行 I/O 操作時進行通知,而 kqueue 和 IOCP 都在請求的操作完成時進行通知。
    • inotify 是 Linux 上的內核子系統,可以在文件系統發生變化時通知應用程序。

libkqueue 是在用戶空間實現的 kqueue(2),將調用翻譯為操作系統原生的事件機制。[2]

參考資料

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads