当前位置:  技术问答>java相关

哪位为高手能解释一下 NIO(非阻塞的IO)的实现原理?谢谢!

    来源: 互联网  发布时间:2017-03-22

    本文导语:  我觉得从根本上来说还是阻塞的,只不过换了种方式,是不是啊? | 我个人感觉java1.4中的NIO有点类似于JMS的处理法,你可以open多个channel 然后到selector里注册一下,等于把channle的控制权交给se...

我觉得从根本上来说还是阻塞的,只不过换了种方式,是不是啊?

|
我个人感觉java1.4中的NIO有点类似于JMS的处理法,你可以open多个channel
然后到selector里注册一下,等于把channle的控制权交给selector,selector对注册过的channle进行轮询,如果有内容到达就设置一个标志,你就可以知道你的channle有数据了。
原来的阻塞方式可能会造成大量的thread进入阻塞状态,占用大量的系统资源,现在的非阻塞方式避免了这个问题。

|
在阻塞模式中,线程将在读或写时阻塞,一直到读或写操作彻底完成。如果在读的时候,数据尚未完全到达套接字,则线程将在读操作上阻塞,一直到数据可用。

在非阻塞模式中,线程将读取已经可用的数据(不论多少),然后返回执行其它任务。如果将真(true)传递给 configureBlockingMethod(),则通道的行为将与在 Socket 上进行阻塞读或写时的行为完全相同。唯一的主要差别,是这些阻塞读和写可以被其它线程中断。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高手帮忙解释
  • 哪位高手能替兄弟解释一下,Struts是怎么回事?
  • 项目中需要读写条形码,哪位高手给解释一下
  • 请高手帮我解释一下这段代码!!!
  • 哪位高手可以解释下Linux的消息机制吗?谢谢
  • VMWare下的给虚拟机添加串口的问题?菜鸟请高手解释
  • 高手请解释一下什么是“添加到主机路由”
  • 哪位高手能解释下gmake 的depend命令
  • 我是新学者,那位高手能解释一下什么是挂载点?它又有什么作用?
  • 一个UNIX操作系统是由那些部门组成的呢?高手详细解释给我
  • 奇怪的日期问题,请高手解释
  • 请高手为我解释一下
  • 请高手帮忙解释一下,insmod ./$module.ko || exit 1中的“||”是什么意思啊,多谢!
  • red hat5 + VMware5 配置samba服务器, 求高手解释
  • 请斑竹和高手们帮我解释一下:范式中的*的作用!感激不尽
  • 请教内核高手,抽空解释一下系统中断调用处理流程
  • 关于"symbol lookup error"问题的诡异现象,高手帮忙解释解释
  • 哪位C语言高手帮我解释下下面程序的运行结果 ???????
  • 请那位高手详细解释一下wait函数的用法和意义?
  • 读PCI时有段代码不懂,请高手解释一下
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • NOSQL iis7站长之家
  • 关于我对linux高手用yum,非高手用源码的理由


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3