[讨论] NIO报错 : CancelledKeyException
huangriyan
2016-04-12
我在使用 NIO时 ,如果select 到一个 可以 readable的key,就是使用多线程去read 的 channel。这样下次 select 到的key 使用 isAcceptAble的时候,就会抛出: CancelledKeyException 。之后客户端再也连不上(估计这个socket已经没办法再 select 了)。如果使用单线程去读readable channel,就不会出现这个问题。大神知道什么原因吗?照道理,accept 到一个socket之后,这个socket是会孵化出一个新的socket的(文件符也是新的),后面再用多线程每个单一的socket的。应该不影响listen的socket才对,大神能结合epoll解释下吗?
|
相关讨论
相关资源推荐
- NIO的java.nio.channels.CancelledKeyException几种解决方法
- java nio 强制关闭_Java NIO服务器:远程主机强迫关闭了一个现有的连接
- 关于nio的java.nio.channels.CancelledKeyException的解决方法
- Zookeeper的CancelledKeyException异常问题
- Zookeeper运维小结--CancelledKeyException
- Netty源码阅读(八): NioServerSocketChannel源码解析
- Socket 之 BIO、NIO、Netty 简单实现
- NIO 在Tomcat中的应用
- 学习NIO——Selector之 SectionKey的事件集合
- Netty源码分析之NioSocketChannel源码走读