Module jdk.net
Package jdk.nio

Interface Channels.SelectableChannelCloser

封闭类:
Channels

public static interface Channels.SelectableChannelCloser
用于协调由readWriteSelectableChannel创建的可选择通道的关闭的对象。
自 JDK 版本:
11
  • Method Details

    • implCloseChannel

      void implCloseChannel(SelectableChannel sc) throws IOException
      关闭可选择通道。

      此方法由通道的close方法调用,以执行关闭通道的实际工作。只有在通道尚未关闭时才会调用此方法,并且通道的close实现永远不会多次调用此方法。

      此方法的实现必须安排任何在通道上的 I/O 操作中被阻塞的其他线程立即返回,可以通过抛出异常或正常返回来实现。如果通道已经注册到一个或多个Selector,则在调用implReleaseChannel方法之前不应释放文件描述符。

      参数:
      sc - 可选择通道
      抛出:
      IOException - 如果关闭文件描述符时发生 I/O 错误
      参见:
    • implReleaseChannel

      void implReleaseChannel(SelectableChannel sc) throws IOException
      释放已注册到一个或多个Selector的可选择通道的文件描述符和任何资源。

      此方法用于在通道注册到一个或多个Selector时关闭通道的情况。通道在关闭后可能会保持注册状态一段时间。当通道最终从最后一个注册的Selector中取消注册时,将调用此方法。最多调用一次。

      API 注意:
      在选择器及其选择键集合上同步时调用此方法。必须非常小心,以避免与其他同步在这些对象上的线程发生死锁。
      参数:
      sc - 已关闭的可选择通道
      抛出:
      IOException - 如果发生 I/O 错误
      参见: