Channels that implement this interface are both asynchronously closable and
interruptible.
A channel that is asynchronously closable permits a thread blocked on an IO
operation (the IO thread) to be released by another thread calling the
channel's close() method. The IO thread will throw an
AsynchronousCloseException and the channel will be closed.
A channel that is interruptible permits a thread blocked on an IO operation
(the IO thread) to be interrupted by another thread (by invoking
interrupt() on the IO thread). When the IO thread is
interrupted it will throw a ClosedByInterruptException
exception, it will have its interrupted status set, and the channel will be
closed. If the IO thread attempts to make an IO call with the interrupt
status set the call will immediately fail with a
ClosedByInterruptException .
|