libuv是什么
简单来说libuv是一个高性能的事件驱动异步IO库,同时它也是nodejs的核心库,当然它也可以作为其它语言的底层库(如luvit等)。
libuv由C语言编写,是一个基于事件驱动的跨平台的异步IO库,它的主要功能包括文件IO、进程、线程、进程间通信以及信号、定时器等。
libuv能做什么
从以上图libuv架构中可以看出libuv的主要功能:
- 网络I/O:包括同步或者异步网络请求,支持TCP、UDP等;
- 文件I/O:通过线程池来支持实现文件I/O;
- 其它:DNS任务以及用户层任务等;