public interface InterruptibleChannel extends Channel
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
Thread.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.
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the channel.
|
void close()
throws IOException
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.
close in interface AutoCloseableclose in interface Channelclose in interface CloseableIOException - if an I/O error occurs while closing the channel.