JavaNIO-通道08 SelectableChannel接口

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();

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容