zoukankan      html  css  js  c++  java
  • JAVA——重点非阻塞模型:NIO模型及IO操作步骤

    二、重点非阻塞模型:NIO模型
    1. Channel:和流等级一样,双向的,可读可写
    2. Buffer:存数据的地方,可以用来读写
    3. Selector:NIO的核心类,可以监听多个channel的时间(连接打开,数据到达)-->使得单线程可以管理多个channel,只有在读写事件发生时才找线程过来读写
    4. NIO基于channel和buffer操作
      a. 数据总是从channel读取到buffer
      b. 或从buffer写到channel
    5. 非阻塞实现:
      a. 线程从channel请求读取数据,仅能获得能够直接使用的数据,
      b. 无法使用时,可以去做其他事情,常用于其他channel的IO操作

    IO操作的两个阶段:
    1. 准备数据
    2. 将数据复制到用户线程上,让线程可以使用数据
    NIO和多路复用的区别是,NIO一直占用cpu一直在channel之间进行读写,多路复用是,读写事件发生时才让线程来读写

  • 相关阅读:
    GUIX 创建工程注意事项
    VS 中bool和BOOL的区别
    git 在Windows上的应用
    rt-thread 相关网站地址
    tcp client
    VS2015 下载地址
    软件各种协议比较(GPL、AGPL、LGPL、Apache、Zlib/Libpng、BSD、MIT)
    UILabel标签
    UIbutton
    数据互转
  • 原文地址:https://www.cnblogs.com/big-data-hins/p/13377531.html
Copyright © 2011-2022 走看看