libuv(Unicorn Velociraptor—独角伶盗龙)库是多平台C库,提供对基于事件循环的异步I/O的支持。它支持epoll(4)、kqueue(2)、Windows的IOCP和Solaris的事件端口。它主要设计用于Node.js,但也可用于其他软件项目,例如Lua的Luvit、Julia和Python的uvloop。它最初是libev或Microsoft IOCP上的抽象,libev只支持Unix系统而不支持Windows上的IOCP,在node-v0.9.0的libuv版本中去除了对libev的依赖。
特征
下述特征取自代码仓库介绍:
- 全特征事件循环以epoll、kqueue、IOCP、事件端口为后端
- 异步TCP和UDP套接字
- 异步DNS解析
- 异步文件和文件系统操作
- 文件系统事件
- ANSI转义序列控制的TTY
- IPC经由套接字共享,使用Unix域套接字或命名管道(Windows)
- 子进程
- 线程池
- 信号处理
- 高解析度时钟
- 线程和同步原语(primitive)
参见
- libevent
- libev
- 反应器模式
引用
外部链接
*
*
- [https://nikhilm.github.io/uvbook/ An Introduction to libuv]
- [http://docs.libuv.org/ libuv API documentation]
- [http://docs.libuv.org/en/latest/design.html libuv design overview]
评论 (0)