概况
基本上网络IO的演进可以划分为3个阶段
· 阻塞式IO/IO复用
有代表性的是Apache,Apache采用select+多进程/多线程方案
讲到IO复用就不得不提到一个著名的封装库——libevent
· 伪AIO/AIO
有代表性的是Nginx,Nginx采用的是epoll+多进程/多线程方案。这实际上是实现了伪AIO,就是接近AIO但又不是AIO。
· 协程
有代表性的是Golang
基本上网络IO的演进可以划分为3个阶段
· 阻塞式IO/IO复用
有代表性的是Apache,Apache采用select+多进程/多线程方案
讲到IO复用就不得不提到一个著名的封装库——libevent
· 伪AIO/AIO
有代表性的是Nginx,Nginx采用的是epoll+多进程/多线程方案。这实际上是实现了伪AIO,就是接近AIO但又不是AIO。
· 协程
有代表性的是Golang