代码之家  ›  专栏  ›  技术社区  ›  bmargulies

为什么我们在Java 1.6中从文件通道.CopyTrace.MultExtExtExt关闭?

  •  14
  • bmargulies  · 技术社区  · 15 年前

    我们的一位客户抱怨我们偶尔会打电话给 FileChannel.map 以失败告终 ClosedByInterruptException . 这个 Javadoc 不将此列为合法的可能性。有人知道这里会发生什么吗?

    Cause0: java.nio.channels.ClosedByInterruptException
    Cause0-StackTrace:
    at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:184)
    at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:772)
    
    2 回复  |  直到 15 年前
        1
  •  23
  •   cafebabe    15 年前

    通道操作绑定到执行操作的线程。如果此线程被中断,则由于IO安全问题,流/通道将关闭。

        2
  •  7
  •   bmargulies    15 年前

    最后一条评论包含答案。有一个线程池在使用中,关闭时中断被传递。