-
- 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错误
-
-