|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.nio.channels.Selector
|
+--java.nio.channels.spi.AbstractSelector
セレクタのベース実装クラスです。
このクラスは、選択操作の割り込みを実装するのに必要な低レベルの機構をカプセル化します。具象セレクタクラスは、無期限にブロックされる入出力操作を呼び出す前に このクラスは、セレクタの取り消されたキーセットを管理するメソッドや、チャネルのキーセットからキーを削除するメソッドも定義します。また、実際にチャネルを登録するため、選択可能チャネルの
begin メソッド、呼び出したあとに end メソッドを呼び出す必要があります。通常これらのメソッドは、end メソッドが必ず呼び出されるように、try ... finally ブロック内で使用されます。
try {
begin();
// Perform blocking I/O operation here
...
} finally {
end();
}
register メソッドによって呼び出される abstract register メソッドを宣言します。
| コンストラクタの概要 | |
protected |
AbstractSelector(SelectorProvider provider)
このクラスの新しいインスタンスを初期化します。 |
| メソッドの概要 | |
protected void |
begin()
無期限にブロックされる入出力操作の開始をマークします。 |
protected Set |
cancelledKeys()
このセレクタの取り消されたキーセットを取得します。 |
void |
close()
このセレクタをクローズします。 |
protected void |
deregister(AbstractSelectionKey key)
チャネルのキーセットから指定されたキーを削除します。 |
protected void |
end()
無期限にブロックされる入出力操作の終了をマークします。 |
protected abstract void |
implCloseSelector()
このセレクタをクローズします。 |
boolean |
isOpen()
このセレクタの状態がオープンであるかどうかを判断します。 |
SelectorProvider |
provider()
このチャネルの作成元プロバイダを返します。 |
protected abstract SelectionKey |
register(AbstractSelectableChannel ch,
int ops,
Object att)
このセレクタに指定されたチャネルを登録します。 |
| クラス java.nio.channels.Selector から継承したメソッド |
keys, open, select, select, selectedKeys, selectNow, wakeup |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
protected AbstractSelector(SelectorProvider provider)
| メソッドの詳細 |
public final void close()
throws IOException
セレクタがすでにクローズしている場合、このメソッドはただちに終了します。それ以外の場合は、セレクタのクローズを検出すると、このクローズ操作を完了するため implCloseSelector メソッドを呼び出します。
Selector 内の closeIOException - 入出力エラーが発生した場合
protected abstract void implCloseSelector()
throws IOException
このメソッドは、セレクタを実際にクローズするため、close メソッドによって呼び出されます。このメソッドは、セレクタがまだクローズされておらず、今後呼び出される可能性がない場合にかぎり呼び出されます。
このメソッドの実装は、このセレクタに対する選択操作の途中でブロックされるスレッドを、wakeup メソッドを呼び出した場合のようにただちに終了することになっています。
IOException - セレクタのクローズ中に入出力エラーが発生した場合public final boolean isOpen()
Selector の記述:
Selector 内の isOpenpublic final SelectorProvider provider()
Selector 内の providerprotected final Set cancelledKeys()
このセットは、同期化されている場合にかぎり使用可能です。
protected abstract SelectionKey register(AbstractSelectableChannel ch,
int ops,
Object att)
このメソッドは、このセレクタに実際にチャネルを登録するために、チャネルの register メソッドによって呼び出されます。
ch - 登録されるチャネルops - 有効な初期対象セットatt - 生成されるキーの初期添付
protected final void deregister(AbstractSelectionKey key)
このメソッドは、常に、登録を解除される個々のチャネルのセレクタによって呼び出されます。
key - 削除される選択キーprotected final void begin()
このメソッドを呼び出すときは、このセレクタに割り込みを実装するため、上記のように try ... finally ブロックを使って、連携する end メソッドも呼び出します。
このメソッドを呼び出すと、セレクタに対する入出力操作中にブロックされているスレッドの interrupt メソッドを呼び出したときに呼び出される、セレクタの wakeup メソッドが呼び出されます。
protected final void end()
このメソッドを呼び出すときは、このセレクタに割り込みを実装するため、上記のように try ... finally ブロックを使って、連携する end メソッドも呼び出します。
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.