Q:NIO是非阻塞的。但调用的selector.select()方法会阻塞。这和NIO非阻塞岂不是矛盾了?

A:非阻塞指的是 IO 事件本身不阻塞,但是获取 IO 事件的 select 方法是需要阻塞等待的.区别是阻塞的 IO 会阻塞在 IO 操作上, NIO 阻塞在事件获取上,没有事件就没有 IO, 从高层次看 IO 就不阻塞了.也就是说只有 IO 已经发生那么我们才评估 IO 是否阻塞,但是 select 阻塞的时候 IO 还没有发生,何谈 IO 的阻塞呢. NIO 的本质是延迟 IO 操作到真正发生 IO 的时候,而不是以前的只要 IO 流打开了就一直等待 IO 操作.

最新文章

  1. js快速判断IE浏览器(兼容IE10与IE11)
  2. gitlab配置邮件通知功能操作记录
  3. springmvc 文件下传、上载、预览。以二进制形式存放到数据库(转载)
  4. HYSBZ1036 树链剖分
  5. qq空间答案
  6. c++ 性能
  7. centos7安装chrome的历程(fedora同)
  8. css控制文字长度,超出长度显示...
  9. Impala与Hive的比較
  10. Python核心编程读笔 13:执行环境
  11. oracle数据库如何打印九九乘法表
  12. 《java.util.concurrent 包源码阅读》15 线程池系列之ScheduledThreadPoolExecutor 第二部分
  13. (四十二)tableView的滑动编辑和刷新 -局部刷新和删除刷新 -待解决问题
  14. JAVA远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
  15. 高级查询query
  16. docker之compose 编排项目
  17. springaop---->springaop的使用(一)
  18. Visual Studio 调试方法
  19. Mac10.11.2 Apache 服务配置
  20. JAVA常见算法题(六)

热门文章

  1. 路由器基础配置之dhcp配置
  2. sax技术解析xml下jaxp解析器详细代码
  3. Java中调用存储过程或函数
  4. JS如何给ul下的所有li绑定点击事件,点击使其弹出下标和内容
  5. 如何解决thinkphp5中验证码常见问题?
  6. C语言学习记录_2019.02.02
  7. 8-C++远征之继承篇-学习笔记
  8. (数据科学学习手札02)Python与R在循环语句与条件语句上的异同
  9. 标记编码报错ValueError: bad input shape ()
  10. 『JavaScript』模仿接口