AsynchronousChannelGroup 在 shutdown 和 shutdownNow 无力!求解决啊
AsynchronousChannelGroupshutdown 线程一直不关闭
shutdownNow 会抛出异常
java.nio.channels.AsynchronousCloseException
at sun.nio.ch.WindowsAsynchronousServerSocketChannelImpl$AcceptTask.failed(Unknown Source)
at sun.nio.ch.Iocp$EventHandlerTask.run(Unknown Source)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
使用:
this.channelGroup = AsynchronousChannelGroup.withFixedThreadPool(this.threadCount, Executors.defaultThreadFactory());
// this.channelGroup = AsynchronousChannelGroup.withFixedThreadPool(this.threadCount, Executors.privilegedThreadFactory());
// this.channelGroup = AsynchronousChannelGroup.withCachedThreadPool(Executors.newCachedThreadPool(), this.threadCount);
this.serverChannel = AsynchronousServerSocketChannel.open(this.channelGroup);
this.serverChannel.setOption(StandardSocketOptions.SO_REUSEADDR, true);
this.serverChannel.bind(this.address);
if (this.serverChannel.isOpen()) {
Connection connection = new Connection();
this.serverChannel.accept(connection, new ConnectionAcceptHandler());
}
哪位大哥能帮忙...这怎么正常关闭啊?
--------------------编程问答-------------------- 除 --------------------编程问答-------------------- 确切说,应该是AsynchronousServerSocketChannel在close的时候抛出了这个异常... --------------------编程问答-------------------- 这是jdk1.7里面的吧,没用过,不大清楚! lz是在找showdown和showdownNow的区别吗,如果是要关闭线程,为什么不用return呢
补充:Java , Java SE