nginx不是使用epoll么? epoll貌似是同步的吧! 那nginx所谓的异步非阻塞到底异步在哪里? 为什么使用了epoll却叫异步?
- epoll确实是阻塞的.
-
nginx的异步并不是指epoll的wait是异步的,而是指对于每个socketfd来说,它的handle是异步的.
其实,nginx是在epoll的地方同步监听socketfd的"改变",如果检测到一个sokcetfd“改变”,那么就调用对应的socketfd异步handle.
因此,epoll是阻塞的,nginx是异步非阻塞的.两者所指的Point不同.