NIO Q&A(持续补充。。。。)
2024-08-23 09:20:10
Q:NIO是非阻塞的。但调用的selector.select()方法会阻塞。这和NIO非阻塞岂不是矛盾了?
A:非阻塞指的是 IO 事件本身不阻塞,但是获取 IO 事件的 select 方法是需要阻塞等待的.区别是阻塞的 IO 会阻塞在 IO 操作上, NIO 阻塞在事件获取上,没有事件就没有 IO, 从高层次看 IO 就不阻塞了.也就是说只有 IO 已经发生那么我们才评估 IO 是否阻塞,但是 select 阻塞的时候 IO 还没有发生,何谈 IO 的阻塞呢. NIO 的本质是延迟 IO 操作到真正发生 IO 的时候,而不是以前的只要 IO 流打开了就一直等待 IO 操作.
最新文章
- js快速判断IE浏览器(兼容IE10与IE11)
- gitlab配置邮件通知功能操作记录
- springmvc 文件下传、上载、预览。以二进制形式存放到数据库(转载)
- HYSBZ1036 树链剖分
- qq空间答案
- c++ 性能
- centos7安装chrome的历程(fedora同)
- css控制文字长度,超出长度显示...
- Impala与Hive的比較
- Python核心编程读笔 13:执行环境
- oracle数据库如何打印九九乘法表
- 《java.util.concurrent 包源码阅读》15 线程池系列之ScheduledThreadPoolExecutor 第二部分
- (四十二)tableView的滑动编辑和刷新 -局部刷新和删除刷新 -待解决问题
- JAVA远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
- 高级查询query
- docker之compose 编排项目
- springaop---->;springaop的使用(一)
- Visual Studio 调试方法
- Mac10.11.2 Apache 服务配置
- JAVA常见算法题(六)