为什么说JAVA nio是非阻塞的

为什么说JAVA nio是非阻塞的,第1张

OIO是读写阻塞, NIO是读写非阻塞,就是说服务器等待客户端连接这块都是阻塞的, 一旦建立连接了, OIO下, 我读取客户端发来的信息会因网络延时问题又一次阻塞, 你发消息时也是一样 而NIO下, 你的selectorselect()如果注册了read或者write, 当消息到达服务端时, 人家从阻塞中醒来提醒你,换句话说, 不是说阻塞消失了, 而是你想多处阻塞等待还是一处阻塞, 然后你干别的事, 数据来了通知你 如果有兴趣你还可以了解下AIO, 一样有阻塞, 不过很多事 *** 作系统帮你归口做了而已, 与NIO的区别就是, NIO是数据到了提醒你读, AIO是数据读成功了提醒你一切都好 总之, 这三种java都可支持, 都存在阻塞, 总的区别就是你在这件事上担当的角色不同


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13442093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-07
下一篇 2023-08-07

发表评论

登录后才能评论

评论列表(0条)

保存