java.lang.Object | |
↳ | java.nio.channels.Selector |
Known Direct Subclasses |
A controller for the selection of SelectableChannel
objects.
Selectable channels can be registered with a selector and get a
SelectionKey
that represents the registration. The keys are also
added to the selector's key set. Selection keys can be canceled so that the
corresponding channel is no longer registered with the selector.
By invoking the select
method, the key set is checked and all keys
that have been canceled since last select operation are moved to the set of
canceled keys. During the select operation, the channels registered with this
selector are checked to see whether they are ready for operation according to
their interest set
.
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new
Selector . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Closes this selector.
| |||||||||||
Indicates whether this selector is open.
| |||||||||||
Gets the set of registered keys.
| |||||||||||
Returns a selector returned by
provider() 's
openSelector() method. | |||||||||||
Gets the provider of this selector.
| |||||||||||
Detects if any of the registered channels is ready for I/O operations
according to its
interest set . | |||||||||||
Detects if any of the registered channels is ready for I/O operations
according to its
interest set . | |||||||||||
Detects if any of the registered channels is ready for I/O operations
according to its
interest set . | |||||||||||
Gets the selection keys whose channels are ready for operation.
| |||||||||||
Forces blocked
select operations to return immediately. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
java.io.Closeable
| |||||||||||
From interface
java.lang.AutoCloseable
|
Closes this selector. Ongoing calls to the select
methods of this
selector will get interrupted. This interruption behaves as if the
wakeup()
method of this selector is called. After this, all keys
that are still valid are invalidated and their channels are unregistered.
All resources held by this selector are released.
Any further attempt of using this selector after this method has been
called (except calling close()
or wakeup()
) results in
a ClosedSelectorException
being thrown.
IOException | if an I/O error occurs. |
---|
Indicates whether this selector is open.
true
if this selector is not closed, false
otherwise.
Gets the set of registered keys. The set is immutable and is not thread- safe.
Returns a selector returned by provider()
's
openSelector()
method.
IOException | if an I/O error occurs. |
---|
Gets the provider of this selector.
Detects if any of the registered channels is ready for I/O operations
according to its interest set
. This method does not
return until at least one channel is ready, wakeup()
is
invoked or the calling thread is interrupted.
IOException | if an I/O error occurs. |
---|---|
ClosedSelectorException | if the selector is closed. |
Detects if any of the registered channels is ready for I/O operations
according to its interest set
. This method does not
return until at least one channel is ready, wakeup()
is invoked,
the calling thread is interrupted or the specified timeout
expires.
timeout | the non-negative timeout in millisecond; 0 will block forever if no channels get ready. |
---|
ClosedSelectorException | if the selector is closed. |
---|---|
IllegalArgumentException | if the given timeout argument is less than zero. |
IOException | if an I/O error occurs. |
Detects if any of the registered channels is ready for I/O operations
according to its interest set
. This operation will
return immediately.
IOException | if an I/O error occurrs. |
---|---|
ClosedSelectorException | if the selector is closed. |
Gets the selection keys whose channels are ready for operation. The set is not thread-safe and no keys may be added to it. Removing keys is allowed.
ClosedSelectorException | if the selector is closed. |
---|
Forces blocked select
operations to return immediately.
If no select
operation is blocked when wakeup()
is called
then the next select
operation will return immediately. This can
be undone by a call to selectNow()
; after calling
selectNow()
, a subsequent call of select
can block
again.
ClosedSelectorException | if the selector is closed. |
---|