|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.nio.channels
接口 InterruptibleChannel
- 所有已知实现类:
- AbstractInterruptibleChannel, AbstractSelectableChannel, DatagramChannel, FileChannel, Pipe.SinkChannel, Pipe.SourceChannel, SelectableChannel, ServerSocketChannel, SocketChannel
-
public interface InterruptibleChannel
- extends Channel
可被异步关闭和中断的通道。
实现此接口的通道是可异步关闭的:如果某个线程阻塞于可中断通道上的 I/O 操作中,则另一个线程可调用该通道的 close
方法。这将导致已阻塞线程接收到 AsynchronousCloseException
。
实现此接口的通道也是可中断的:如果某个线程阻塞于可中断通道上的 I/O 操作中,则另一个线程可调用该阻塞线程的 interrupt
方法。这将导致该通道被关闭,已阻塞线程接收到 ClosedByInterruptException
,并且设置已阻塞线程的中断状态。
如果已设置某个线程的中断状态并且它在通道上调用某个阻塞的 I/O 操作,则该通道将关闭并且该线程立即接收到 ClosedByInterruptException
;并仍然设置其中断状态。
当且仅当某个通道实现此接口时,该通道才支持异步关闭和中断。如有必要,可在运行时通过 instanceof 操作符进行测试。
- 从以下版本开始:
- 1.4
方法摘要 | |
---|---|
void |
close() 关闭此通道。 |
从接口 java.nio.channels.Channel 继承的方法 |
---|
isOpen |
方法详细信息 |
---|
close
void close() throws IOException
-
关闭此通道。
所有当前阻塞于此通道上的 I/O 操作中的线程都将接收到
AsynchronousCloseException
。此方法的行为与
Channel
接口所指定的行为完全相同。 -
- 抛出:
-
IOException
- 如果发生 I/O 错误
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |