当前位置:编程学习 > JAVA >>

AsynchronousChannelGroup 在 shutdown 和 shutdownNow 无力!求解决啊

AsynchronousChannelGroup

shutdown 线程一直不关闭

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,