在Java的NIO编程中,在SelectionKey.ACCEPT事件监听处理中,使用阻塞和非阻塞对效率影响大吗?
对Accept事件的处理是注册产生的SocketChannel进入Selector监听,对输入输出的等待并不存在;所以不使用Selector的监听,不适用事件监听处理,而是直接阻塞等待,是不是效率一样?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果是单独开一个线程去监听一个ServerSocketChannel的Accept事件,阻塞和不阻塞是一样的。
当你要监听的端口很多时,要开很多线程,那还是用非阻塞的,放在一个线程里(而且可以跟Read、Write、Connect等事件放在一起)效率更高些。
不一样的,如果用阻塞模式,accept完之后有业务代码要执行,那后面的accept不是只能干等着吗。