Most visited

Recently visited

Added in API level 1

InterruptibleChannel

public interface InterruptibleChannel
implements Channel

java.nio.channels.InterruptibleChannel
Known Indirect Subclasses


可以异步关闭并中断的通道。

实现此接口的通道是异步关闭的:如果一个线程在可中断通道上的I / O操作中被阻塞,则另一个线程可能会调用通道的close方法。 这将导致被阻止的线程收到AsynchronousCloseException

实现此接口的通道也是可中断的:如果某个线程在可中断通道上的I / O操作中被阻塞,则另一个线程可能会调用被阻塞线程的方法interrupt 这将导致通道关闭,被阻塞的线程接收ClosedByInterruptException ,并且阻塞线程的中断状态被设置。

如果一个线程的中断状态已经被设置,并且它在一个通道上调用一个阻塞I / O操作,那么该通道将被关闭,并且线程将立即收到一个ClosedByInterruptException ; 其中断状态将保持设置。

一个通道支持异步关闭和中断,当且仅当它实现这个接口时。 如有必要,可以在运行时通过instanceof操作员对其进行测试。

Summary

Public methods

abstract void close()

关闭此频道。

Inherited methods

From interface java.nio.channels.Channel
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Public methods

close

Added in API level 1
void close ()

关闭此频道。

在此通道上的I / O操作中当前阻塞的任何线程都将收到 AsynchronousCloseException

此方法的行为完全如 Channel接口所指定。

Throws
IOException If an I/O error occurs

Hooray!