码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA——重点非阻塞模型:NIO模型及IO操作步骤

时间:2020-07-26 00:44:25      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:请求   重点   连接   tor   info   技术   image   nio   load   

二、重点非阻塞模型: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之间进行读写,多路复用是,读写事件发生时才让线程来读写

JAVA——重点非阻塞模型:NIO模型及IO操作步骤

标签:请求   重点   连接   tor   info   技术   image   nio   load   

原文地址:https://www.cnblogs.com/big-data-hins/p/13377531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!