- すべての実装されたインタフェース:
Closeable
,AutoCloseable
このクラスは、選択操作の割り込みの実装に必要な低レベルの機構をカプセル化します。 具象セレクタ・クラスは、無期限にブロックされる可能性のある入出力操作の呼出し前にbegin
メソッドを、呼出し後にend
メソッドをそれぞれ呼び出す必要があります。 end
メソッドが必ず呼び出されるように、try
... finally
ブロック内でこれらのメソッドを使用するようにしてください。
try { begin(); // Perform blocking I/O operation here ... } finally { end(); }
このクラスは、セレクタの取り消されたキー・セットを管理するメソッドや、チャネルのキー・セットからキーを削除するメソッドも定義します。また、実際にチャネルを登録するために選択可能チャネルのregister
メソッドによって呼び出される抽象register
メソッドを宣言します。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明protected final void
begin()
無期限にブロックされる入出力操作の開始をマークします。protected final Set<SelectionKey>
このセレクタの取り消されたキー・セットを取得します。final void
close()
このセレクタをクローズします。protected final void
チャネルのキー・セットから指定されたキーを削除します。protected final void
end()
無期限にブロックされる入出力操作の終了をマークします。protected abstract void
このセレクタをクローズします。final boolean
isOpen()
このセレクタの状態がオープンであるかどうかを判断します。final SelectorProvider
provider()
このチャネルの作成元プロバイダを返します。protected abstract SelectionKey
register
(AbstractSelectableChannel ch, int ops, Object att) このセレクタに指定されたチャネルを登録します。
-
コンストラクタの詳細
-
AbstractSelector
protected AbstractSelector(SelectorProvider provider) このクラスの新しいインスタンスを初期化します。- パラメータ:
provider
- このセレクタの作成元プロバイダ
-
-
メソッドの詳細
-
close
public final void close() throws IOExceptionこのセレクタをクローズします。このセレクタがすでにクローズしている場合、このメソッドはただちに終了します。 それ以外の場合は、セレクタのクローズをマークしてから、クローズ操作を完了するために
implCloseSelector
メソッドを呼び出します。- 定義:
close
、インタフェースAutoCloseable
- 定義:
close
、インタフェースCloseable
- 定義:
close
、クラスSelector
- 例外:
IOException
- 入出力エラーが発生した場合
-
implCloseSelector
protected abstract void implCloseSelector() throws IOExceptionこのセレクタをクローズします。このメソッドは、セレクタをクローズする実際の処理を実行するために
close
メソッドによって呼び出されます。 このメソッドは、セレクタがまだクローズされておらず、今後呼び出される可能性がない場合に限り呼び出されます。このメソッドの実装は、このセレクタに対する選択操作でブロックされているほかのスレッドを、
wakeup
メソッドを呼び出した場合のようにただちに終了する必要があります。- 例外:
IOException
- セレクタのクローズ中に入出力エラーが発生した場合
-
isOpen
public final boolean isOpen()クラスからコピーされた説明:Selector
このセレクタの状態がオープンであるかどうかを判断します。 -
provider
public final SelectorProvider provider()このチャネルの作成元プロバイダを返します。 -
cancelledKeys
protected final Set<SelectionKey> cancelledKeys()このセレクタの取り消されたキー・セットを取得します。このセットは、同期化されている場合に限り使用可能です。
- 戻り値:
- 取り消されたキー・セット
-
register
protected abstract SelectionKey register(AbstractSelectableChannel ch, int ops, Object att) このセレクタに指定されたチャネルを登録します。このメソッドは、このセレクタに実際にチャネルを登録するために、チャネルの
register
メソッドによって呼び出されます。- パラメータ:
ch
- 登録されるチャネルops
- 有効な初期対象セットatt
- 結果として得られるキーの初期添付- 戻り値:
- このセレクタに指定されたチャネルが登録されていることを示す新しいキー
-
deregister
protected final void deregister(AbstractSelectionKey key) チャネルのキー・セットから指定されたキーを削除します。セレクタは、登録解除するチャネルごとにこのメソッドを呼び出す必要があります。
- パラメータ:
key
- 削除される選択キー
-
begin
protected final void begin() -
end
protected final void end()
-