モジュール jdk.net
パッケージ jdk.nio

インタフェースChannels.SelectableChannelCloser

  • 含まれているクラス:
    Channels

    public static interface Channels.SelectableChannelCloser
    readWriteSelectableChannelによって作成された選択可能チャネルのクローズを調整するために使用されるオブジェクトです。
    導入されたバージョン:
    11
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      void implCloseChannel​(SelectableChannel sc)
      選択可能チャネルをクローズします。
      void implReleaseChannel​(SelectableChannel sc)
      1つ以上のSelectorsに登録中に閉じられた選択可能チャネルのファイル記述子とリソースを解放します。
    • メソッドの詳細

      • implCloseChannel

        void implCloseChannel​(SelectableChannel sc)
                       throws IOException
        選択可能チャネルをクローズします。

        このメソッドは、チャネルをクローズする実際の作業を実行するために、チャネルのクローズ方法によって呼び出されます。 このメソッドは、チャネルが閉じられていない場合にのみ呼び出され、チャネル・クローズの実装によって呼び出されることはありません。

        このメソッドの実装は、例外をスローするか通常どおりに復帰することによって、チャネルのI/O操作でブロックされている他のスレッドを、チャネル上で即座に復帰するように配置する必要があります。 1つ以上のSelectorsを持つregisteredチャネルの場合、implReleaseChannelメソッドが呼び出されるまでファイル記述子は解放されません。

        パラメータ:
        sc - 選択可能チャネル
        例外:
        IOException - ファイル記述子のクローズ中にI/Oエラーが発生した場合
        関連項目:
        AbstractInterruptibleChannel.implCloseChannel()
      • implReleaseChannel

        void implReleaseChannel​(SelectableChannel sc)
                         throws IOException
        1つ以上のSelectorsに登録中に閉じられた選択可能チャネルのファイル記述子とリソースを解放します。

        このメソッドは、1つ以上のregisteredが1つ以上のSelectorを含む場合にチャネルがクローズされるようにするために使用します。 チャネルは、クローズ後も登録されたままになることがあります。 チャネルが登録された最後のSelectorから最終的に登録解除されると、このメソッドが呼び出されます。 これは、最大で1回起動されます。

        APIの注:
        このメソッドは、セレクタおよびその選択されたキー・セット上で同期化されるときに呼び出されます。 これらのオブジェクトも同期する他のスレッドのデッドロックを避けるには、大きな注意が必要です。
        パラメータ:
        sc - クローズ済選択可能チャネル
        例外:
        IOException - 入出力エラーが発生した場合
        関連項目:
        AbstractSelector.deregister(java.nio.channels.spi.AbstractSelectionKey)