关于Nio的疑问
来源:7-15 总结

Netty0
2019-06-27
众所周知,Nio使用了select来进行多路复用,因为他可以做到底层非阻塞式的询问channel是否有事件产生
- 想问一下具体底层是如何做到询问一下可以马上返回的呢?
- 在底层channel读byte的时候nio也可以做到立即返回非阻塞,想问一下这又是什么原理呢?
感谢回答^^
写回答
1回答
-
底层使用的是epoll模型,操作系统支持的,详细的需要了解一下 epoll 的原理,这个百度一下会有很多资料的哈;
这个是因为读byte的时候,不是直接从tcp缓冲区去读(这样的话线程会一直等待数据的产生),而是直接在系统另外开辟了一块缓冲区,直接从缓冲区里读的,没有数据就立即返回,不会等待
112019-07-01
相似问题