栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

NIO理解

NIO理解

基本概念理解

channel 轨道 buffer火车 selector 调度中心

1.buffer与channel之间相互读写

2.NIO本质: 不管是读还是写针对buffer操作,客户端与buffer交互,通过buffer实现非阻塞

3.之前BIO read客户端是否阻塞的,现在从buffer中读取是非阻塞的,用一个线程可以读取多个通道,哪个通道有数据过来(事件),能感知,即服务端多线程中每个线程处理多个通道,哪个通道有数据,处理哪个。

4.不是轮询,是Reactor模式,事件通知Selector去执行哪个channel

5.selector 相当于BIO socket,观察者模式,感知通道中是否有数据发来

6.一个服务端线程管理多个selector

基本介绍

 关系图

 Buffer

 

 Buffer code

@Slf4j
public class BufferService {

    public static void main(String[] args) {

	IntBuffer intBuffer = IntBuffer.allocate(10);
	for (int i = 0; i < intBuffer.capacity(); i++) {
	    intBuffer.put(i);
	}
	intBuffer.flip();

	while (intBuffer.hasRemaining()) {
	    log.info("read intBuffer: {}", intBuffer.get());
	}
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/712977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号