读作 lib u v

背景

  • FreeBSD系统上有kqueue
  • Linux系统上有epoll
  • windows系统上有IOCP
  • Ryan为了一个跨平台的异步I/O库,开始写libuv
  • libuv会根据系统自动选择合适的方案

*I/O所有的输入输出都属于I/O

功能

  • 可以用于 TCP / UDP / DNS / 文件 等的异步操作

TCP:操作http的
UDP:不用三次握手就可以通信,效率高,例如聊天室
DNS:域名解析

总结

有了这个libuv,nodejs就可以摆脱I/O瓶颈了,就是I/O全部都交给C语言来做。JS只负责简单的调用这些东西