码迷,mamicode.com
首页 > 其他好文 > 详细

BIO&NIO

时间:2020-02-21 14:16:24      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:绑定   etc   核心   channel   sel   数组实现   面向   数据   双向   

  1. 在BIO中只有一个核心对象--Stream,它是单向的数据传输通道,即每个Stream要么是输入要么是输出的,不可兼得。开发人员是面向Stream进行编程的。
  2. 在NIO中有三个核心对象--Seletor、Channel、Buffer。其中Selector是一个事件循环线程,不停的监听注册在其上的事件;Channel是一个双向的数据通道,它需要注册绑定到一个Selector上接受监听;Buffer是一个基于数组实现的缓冲区,它是运输数据的容器,它必须依附于一个Channel存在;开发人员是面向Buffer进行编程的。一个Seletctor上可以注册多个Channel,每个Channel上又分配了一个Buffer,当一个Buffer完成读写操作后,读或写就绪的事件会被相应的Selector监听到,Seletor就会将对应的Channel摘出来,交给其他线程做后续业务逻辑的处理。

BIO&NIO

标签:绑定   etc   核心   channel   sel   数组实现   面向   数据   双向   

原文地址:https://www.cnblogs.com/JaxYoun/p/12340946.html

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