FileChannel的ClosedByInterruptException可以避免吗?

时间:2014-12-23 05:50:51

标签: java multithreading performance file io

我有一个多线程程序,它使用SingleThreadExecutor将数据写入磁盘(它使用BlockingQueue等待无限循环)。当我想基本上关闭它时,我使用Future对象取消它(后跟executor.shutdown())。这会中断包含Thread的{​​{1}},从而抛出FileChannel有没有办法避免这种情况发生?当通道在工作中关闭时,我似乎正在丢失数据。我是否应该使用中断机制而不是将无限循环转换为ClosedByInterruptException volatile的循环?有没有其他方法可以解决这个问题?

0 个答案:

没有答案