zoukankan      html  css  js  c++  java
  • [NIO-4]选择器

    选择器

    最后,我们探索一下选择器。由于选择器内容比较多,所以本篇先偏理论地讲一下,后一篇讲代码,文章也没有什么概括、总结的,写到哪儿算哪儿了,只求能将选择器写明白,并且将一些相对重要的内容加粗标红。

    选择器提供选择执行已经就绪的任务的能力,这使得多元I/O成为了可能,就绪执行和多元选择使得单线程能够有效地同时管理多个I/O通道。

    某种程度上来说,理解选择器比理解缓冲区和通道类更困难一些和复杂一些,因为涉及了三个主要的类,它们都会同时参与到这整个过程中,这里先将选择器的执行分解为几条细节:

    1、创建一个或者多个可选择的通道(SelectableChannel)

    2、将这些创建的通道注册到选择器对象中

    3、选择键会记住开发者关心的通道,它们也会追踪对应的通道是否已经就绪

    4、开发者调用一个选择器对象的select()方法,当方法从阻塞状态返回时,选择键会被更新

    5、获取选择键的集合,找到当时已经就绪的通道,通过遍历这些键,开发者可以选择对已就绪的通道要做的操作

    对于选择器的操作,大致就是这么几步,OK,接下去再进一步,看一下和选择器相关的三个类。

  • 相关阅读:
    dev DEV控件:gridControl常用属性设置
    C# ListView用法详解
    LeetCode 22_ 括号生成
    LeetCode 198_ 打家劫舍
    LeetCode 46_ 全排列
    LeetCode 121_ 买卖股票的最佳时机
    LeetCode 70_ 爬楼梯
    LeetCode 53_ 最大子序和
    LeetCode 326_ 3的幂
    LeetCode 204_ 计数质数
  • 原文地址:https://www.cnblogs.com/Joy-Hu/p/10650224.html
Copyright © 2011-2022 走看看