-
- All Superinterfaces:
-
AutoCloseable,Channel,Closeable
- 所有已知实现类:
-
AbstractInterruptibleChannel,AbstractSelectableChannel,DatagramChannel,FileChannel,Pipe.SinkChannel,Pipe.SourceChannel,SctpChannel,SctpMultiChannel,SctpServerChannel,SelectableChannel,ServerSocketChannel,SocketChannel
public interface InterruptibleChannel extends Channel
可以异步关闭和中断的通道。实现此接口的通道是异步关闭的:如果线程在可中断通道上的I / O操作中被阻塞,则另一个线程可能会调用通道的
close方法。 这将导致阻塞的线程接收到一个AsynchronousCloseException。实现此接口的通道也是可中断的:如果线程在可中断通道上的I / O操作中被阻塞,则另一个线程可能会调用阻塞线程的
interrupt方法。 这将导致通道关闭,阻塞线程接收到一个ClosedByInterruptException,并阻塞线程的中断状态被设置。如果线程的中断状态已经设置,并且在通道上调用阻塞I / O操作,则通道将被关闭,并且线程将立即接收到一个
ClosedByInterruptException; 其中断状态将保持置位。一个通道支持异步关闭和中断,只要它实现了这个接口。 如果需要,可以在运行时通过
instanceof操作符进行测试。- 从以下版本开始:
- 1.4
-
-
方法详细信息
-
close
void close() throws IOException- Specified by:
-
close在接口AutoCloseable - Specified by:
-
close在接口Channel - Specified by:
-
close在接口Closeable - 异常
-
IOException- 如果发生I / O错误
-
-