java.lang.Object | |
↳ | java.nio.channels.spi.AbstractInterruptibleChannel |
Known Direct Subclasses |
Known Indirect Subclasses |
AbstractInterruptibleChannel
is the root class for interruptible
channels.
The basic usage pattern for an interruptible channel is to invoke
begin()
before any I/O operation that potentially blocks
indefinitely, then end(boolean)
after completing the operation. The
argument to the end
method should indicate if the I/O operation has
actually completed so that any change may be visible to the invoker.
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Default constructor.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Closes an open channel.
| |||||||||||
Indicates whether this channel is open.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Indicates the beginning of a code section that includes an I/O operation
that is potentially blocking.
| |||||||||||
Indicates the end of a code section that has been started with
begin() and that includes a potentially blocking I/O operation. | |||||||||||
Implements the channel closing behavior.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
java.io.Closeable
| |||||||||||
From interface
java.nio.channels.Channel
| |||||||||||
From interface
java.nio.channels.InterruptibleChannel
|
Closes an open channel. If the channel is already closed then this method
has no effect, otherwise it closes the receiver via the
implCloseChannel
method.
If an attempt is made to perform an operation on a closed channel then a
ClosedChannelException
is thrown.
If multiple threads attempt to simultaneously close a channel, then only one thread will run the closure code and the others will be blocked until the first one completes.
IOException | if a problem occurs while closing this channel. |
---|
Indicates whether this channel is open.
true
if this channel is open, false
if it is
closed.Indicates the beginning of a code section that includes an I/O operation
that is potentially blocking. After this operation, the application
should invoke the corresponding end(boolean)
method.
Indicates the end of a code section that has been started with
begin()
and that includes a potentially blocking I/O operation.
success | pass true if the blocking operation has succeeded and
has had a noticeable effect; false otherwise. |
---|
AsynchronousCloseException | if this channel is closed by another thread while this method is executing. |
---|---|
ClosedByInterruptException | if another thread interrupts the calling thread while this method is executing. |
Implements the channel closing behavior.
Closes the channel with a guarantee that the channel is not currently
closed through another invocation of close()
and that the method
is thread-safe.
Any outstanding threads blocked on I/O operations on this channel must be
released with either a normal return code, or by throwing an
AsynchronousCloseException
.
IOException | if a problem occurs while closing the channel. |
---|