有一种简单的情况,如:
线程A:尝试从FileChannel中读取
length = tun.read(tunPacket.buffer);此操作将阻塞此A线程。
线程B:等待用户输入(停止按钮)。当发生此事件时,调用A的interrupt()方法。尽管FileChannel实现了AbstractInterruptibleChannel,但这不是抛出ClosedByInterruptException
我使用的是Android6.0,如果重要的话,还有文献资料
我想解决这个问题,但看起来不可能.
发布于 2015-11-13 05:34:16
length = tun.read(tunPacket.buffer);此操作将阻塞此A线程。
显然不是。它不会花很长时间来执行,而且您的interrupt()很容易就会错过它。在执行interrupt()时,您还没有提供任何证据来证明您实际上正在使用该方法。
https://stackoverflow.com/questions/33305384
复制相似问题