public interface InterruptibleChannel extends Channel
实现此接口的通道是异步关闭的:如果线程在可中断通道上的I / O操作中被阻塞,则另一个线程可能会调用通道的close
方法。 这将导致被阻止的线程接收到一个AsynchronousCloseException
。
实现此接口的通道也是可中断的:如果线程在可中断通道上的I / O操作中被阻塞,则另一个线程可能会调用阻塞的线程的interrupt
方法。 这将导致通道关闭,阻塞的线程接收到一个ClosedByInterruptException
,并阻塞线程的中断状态被设置。
如果线程的中断状态已经设置,并且在通道上调用阻塞I / O操作,则通道将被关闭,并且线程将立即接收到一个ClosedByInterruptException
; 其中断状态将保持置位。
一个通道支持异步关闭和中断,只要它实现了这个接口。 如果需要,可以在运行时通过instanceof操作符进行测试。
void close() throws IOException
close
中的
AutoCloseable
close
在接口
Channel
close
在接口
Closeable
IOException
- 如果发生I / O错误