- java.lang.Object
-  
      - java.nio.channels.Selector
-  
        - java.nio.channels.spi.AbstractSelector
 
 
-  
       - 实现的所有接口
-  
         Closeable,AutoCloseable
 
 public abstract class AbstractSelector extends Selector 选择器的基本实现类。该类封装了实现选择操作中断所需的低级机器。 具体的选择器类必须分别在调用可能无限期阻塞的I / O操作之前和之后调用 begin和end方法。 为了确保始终调用end方法,应在try...finally块中使用这些方法:try { begin(); // Perform blocking I/O operation here ... } finally { end(); }此类还定义了维护选择器的取消键集和从其通道的键集中删除键的方法,并声明了由可选通道的 register方法调用的抽象register方法,以便执行注册通道的实际工作。- 从以下版本开始:
- 1.4
 
-  
        
       -  
             构造方法摘要构造方法 变量 构造器 描述 protectedAbstractSelector(SelectorProvider provider)初始化此类的新实例。
 -  
             方法摘要所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 protected voidbegin()标记可能无限期阻塞的I / O操作的开始。protected Set<SelectionKey>cancelledKeys()检索此选择器的已取消键集。voidclose()关闭此选择器。protected voidderegister(AbstractSelectionKey key)从其频道的密钥集中删除给定的密钥。protected voidend()标记可能无限期阻塞的I / O操作的结束。protected abstract voidimplCloseSelector()关闭此选择器。SelectorProviderprovider()返回创建此通道的提供程序。protected abstract SelectionKeyregister(AbstractSelectableChannel ch, int ops, Object att)使用此选择器注册给定通道。
 
-  
             
-  
        
       -  
             构造方法详细信息-  AbstractSelectorprotected AbstractSelector(SelectorProvider provider) 初始化此类的新实例。- 参数
-  
              provider- 创建此选择器的提供程序
 
 
-  
 -  
             方法详细信息-  closepublic final void close() throws IOException关闭此选择器。如果选择器已经关闭,则此方法立即返回。 否则,它将选择器标记为已关闭,然后调用 implCloseSelector方法以完成关闭操作。- Specified by:
-  
              close在界面AutoCloseable
- Specified by:
-  
              close,界面Closeable
- Specified by:
-  
              close,类Selector
- 异常
-  
              IOException- 如果发生I / O错误
 
 -  implCloseSelectorprotected abstract void implCloseSelector() throws IOException关闭此选择器。close方法调用此方法以执行关闭选择器的实际工作。 仅当选择器尚未关闭时才会调用此方法,并且永远不会多次调用此方法。此方法的实现必须安排在此选择器上的选择操作中被阻塞的任何其他线程立即返回,就像调用 wakeup方法一样。- 异常
-  
              IOException- 如果在关闭选择器时发生I / O错误
 
 -  providerpublic final SelectorProvider provider() 返回创建此通道的提供程序。
 -  cancelledKeysprotected final Set<SelectionKey> cancelledKeys() 检索此选择器的已取消键集。该集合仅应在同步时使用。 - 结果
- 取消的密钥集
 
 -  registerprotected abstract SelectionKey register(AbstractSelectableChannel ch, int ops, Object att) 使用此选择器注册给定通道。此方法由通道的 register方法调用,以便执行使用此选择器注册通道的实际工作。- 参数
-  
              ch- 要注册的频道
-  
              ops- 初始兴趣集,必须有效
-  
              att- 结果密钥的初始附件
- 结果
- 表示使用此选择器注册给定通道的新键
 
 -  deregisterprotected final void deregister(AbstractSelectionKey key) 从其频道的密钥集中删除给定的密钥。选择器必须为其取消注册的每个通道调用此方法。 - 参数
-  
              key- 要删除的选择键
 
 -  beginprotected final void begin() 
 -  endprotected final void end() 
 
-  
 
-