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

    选择器

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    操作系统
    C++流类库(11)
    C++运算符重载(10)
    C++虚函数(09)
    C++向量(08)
    C++继承(07)
    ResNet实战
    ResNet,DenseNet
    经典卷积网络VGG,GoodLeNet,Inception
    CIFAR100与VGG13实战
  • 原文地址:https://www.cnblogs.com/Joy-Hu/p/10650224.html
Copyright © 2011-2022 走看看