JavaNIO-通道08 SelectableChannel接口

2019-07-25  本文已影响0人  贪睡的企鹅

SelectableChannel接口结构

image

SelectableChannel 接口

用来表示可以被注册到选择器中的通道

/**
 * 可以被注册到选择器中的通道
 */

public abstract class SelectableChannel
        extends AbstractInterruptibleChannel
        implements Channel {

    /**
     * 实例化一个SelectableChannel
     */
    protected SelectableChannel() {
    }

    /**
     * 返回创建此通道的提供程序。
     */
    public abstract SelectorProvider provider();

    /**
     * 返回一个操作集,标识此通道所支持的事件
     */
    public abstract int validOps();

    /**
     * 判断当前通道是否被注册到选择器Selector
     */
    public abstract boolean isRegistered();

    /**
     * 返回通道在向给定选择器Selector注册的SelectionKey
     */
    public abstract SelectionKey keyFor(Selector sel);

    /**
     * 将通道注册到一个选择器中,设置感兴趣得事件,并设置附件对象
     */
    public abstract SelectionKey register(Selector sel, int ops, Object att)
            throws ClosedChannelException;

    /**
     * 将通道注册到一个选择器中,设置感兴趣得事件
     */
    public final SelectionKey register(Selector sel, int ops)
            throws ClosedChannelException {
        return register(sel, ops, null);
    }

    /**
     * 调整此通道的阻塞模式
     */
    public abstract SelectableChannel configureBlocking(boolean block)
            throws IOException;

    /**
     * 返回通道得阻塞模式
     */
    public abstract boolean isBlocking();

    public abstract Object blockingLock();

}
上一篇下一篇

猜你喜欢

热点阅读