-  
       - Enclosing class:
- Channels
 
 public static interface Channels.SelectableChannelCloser用于协调关闭由readWriteSelectableChannel创建的可选择通道的 对象 。- 从以下版本开始:
- 11
 
-  
        
       -  
             方法摘要所有方法 实例方法 抽象方法 变量和类型 方法 描述 voidimplCloseChannel(SelectableChannel sc)关闭可选择的频道。voidimplReleaseChannel(SelectableChannel sc)释放文件描述符以及在注册一个或多个Selector时关闭的可选通道的任何资源。
 
-  
             
-  
        
       -  
             方法详细信息-  implCloseChannelvoid implCloseChannel(SelectableChannel sc) throws IOException 关闭可选择的频道。通道的close方法调用此方法,以执行关闭通道的实际工作。 仅当通道尚未关闭时才调用此方法,并且通道的close实现从不会多次调用此方法。 此方法的实现必须安排在通道上的I / O操作中阻塞的任何其他线程立即返回,通过抛出异常或通过正常返回。 如果通道为 registered且带有一个或多个Selectors,则在调用implReleaseChannel方法之前,不应释放文件描述符 。- 参数
-  
              sc- 可选择的频道
- 异常
-  
              IOException- 如果在关闭文件描述符时发生I / O错误
- 另请参见:
-  
              AbstractInterruptibleChannel.implCloseChannel()
 
 -  implReleaseChannelvoid implReleaseChannel(SelectableChannel sc) throws IOException 释放文件描述符以及在注册一个或多个Selector时关闭的可选通道的任何资源。此方法适用于 registered具有一个或多个Selectors时关闭通道的情况。 频道关闭后可能会保留一段时间。 当通道最终从其注册的最后一个Selector取消注册时,将调用此方法。 它最多被调用一次。- API Note:
- 在选择器及其选定键集上同步时调用此方法。 必须非常小心,以避免与其他线程同时在这些对象上同步的死锁。
- 参数
-  
              sc- 关闭的可选择频道
- 异常
-  
              IOException- 如果发生I / O错误
- 另请参见:
-  
              AbstractSelector.deregister(java.nio.channels.spi.AbstractSelectionKey)
 
 
-  
 
-