Build 1.0_r1(from source)

Interface InterruptibleChannel

All Superinterfaces:
Channel, Closeable
All Known Implementing Classes:
AbstractInterruptibleChannel, AbstractSelectableChannel, DatagramChannel, FileChannel, Pipe.SinkChannel, Pipe.SourceChannel, SelectableChannel, ServerSocketChannel, SocketChannel

public interface InterruptibleChannel
extends Channel

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.

Method Summary
 void close()
          Closes an InterruptibleChannel.
Methods inherited from interface java.nio.channels.Channel

Method Detail


void close()
           throws IOException
Closes an InterruptibleChannel. This method is precisely the same as the super-interface close().

Any threads that are blocked on IO operations on this channel will be interrupted with an AsynchronousCloseException .

Specified by:
close in interface Channel
Specified by:
close in interface Closeable
IOException - if an IO problem occurs closing the channel.

Build 1.0_r1(from source)

Please submit a feedback, bug or feature