- 含まれているクラス:
- Channels
public static interface Channels.SelectableChannelCloser
readWriteSelectableChannel
によって作成された選択可能チャネルのクローズを調整するために使用されるオブジェクトです。- 導入されたバージョン:
- 11
-
メソッドのサマリー
-
メソッドの詳細
-
implCloseChannel
void implCloseChannel(SelectableChannel sc) throws IOException選択可能チャネルをクローズします。このメソッドは、チャネルをクローズする実際の作業を実行するために、チャネルのクローズ方法によって呼び出されます。 このメソッドは、チャネルが閉じられていない場合にのみ呼び出され、チャネル・クローズの実装によって呼び出されることはありません。
このメソッドの実装は、例外をスローするか通常どおりに復帰することによって、チャネルのI/O操作でブロックされている他のスレッドを、チャネル上で即座に復帰するように配置する必要があります。 1つ以上の
Selector
sを持つregistered
チャネルの場合、implReleaseChannel
メソッドが呼び出されるまでファイル記述子は解放されません。- パラメータ:
sc
- 選択可能チャネル- 例外:
IOException
- ファイル記述子のクローズ中にI/Oエラーが発生した場合- 関連項目:
AbstractInterruptibleChannel.implCloseChannel()
-
implReleaseChannel
void implReleaseChannel(SelectableChannel sc) throws IOException1つ以上のSelector
sに登録中に閉じられた選択可能チャネルのファイル記述子とリソースを解放します。このメソッドは、1つ以上の
registered
が1つ以上のSelector
を含む場合にチャネルがクローズされるようにするために使用します。 チャネルは、クローズ後も登録されたままになることがあります。 チャネルが登録された最後のSelector
から最終的に登録解除されると、このメソッドが呼び出されます。 これは、最大で1回起動されます。- APIのノート:
- このメソッドは、セレクタおよびその選択されたキー・セット上で同期化されるときに呼び出されます。 これらのオブジェクトも同期する他のスレッドのデッドロックを避けるには、大きな注意が必要です。
- パラメータ:
sc
- クローズ済選択可能チャネル- 例外:
IOException
- 入出力エラーが発生した場合- 関連項目:
AbstractSelector.deregister(java.nio.channels.spi.AbstractSelectionKey)
-