java.nio.channels.InterruptibleChannel |
Known Indirect Subclasses |
Channels that implement this interface can be asynchronously closed and interrupted.
A channel that can be asynchronously closed permits that a thread blocked on
an I/O operation (the I/O thread) can be released by another thread calling
the channel's close()
method. The I/O thread will throw an
AsynchronousCloseException
and the channel will be closed.
A channel that is interruptible permits a thread blocked on an I/O operation
(the I/O thread) to be interrupted by another thread (by invoking
interrupt()
on the I/O thread). When the I/O thread is
interrupted it will throw a ClosedByInterruptException
, it will have
its interrupted status set and the channel will be closed. If the I/O thread
attempts to make an I/O call with the interrupt status set the call will
immediately fail with a ClosedByInterruptException
.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Closes the channel.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From interface
java.io.Closeable
| |||||||||||
From interface
java.lang.AutoCloseable
| |||||||||||
From interface
java.nio.channels.Channel
|
Closes the channel.
Any threads that are blocked on I/O operations on this channel will be
interrupted with an AsynchronousCloseException
. Otherwise, this
method behaves the same as defined in the Channel
interface.
IOException | if an I/O error occurs while closing the channel. |
---|