NIO三大核心selector、channel、buffer的关
作者:
奔跑吧老王 | 来源:发表于
2020-04-03 10:37 被阅读0次
image.png
- 每个channel都会对应一个buffer;
- 一个selector对应一个线程,每个selector对应多个channel,channel通道也可以理解为链接,是双向的;
- channel 注册到selector上,程序切换到那个channel是由时间Event决定的
- select会根据不同的事件在各个通道(channel)上切换
- buffer就是一个内存块,底层其实就是数据,buffer也是双向的;
- 数据的读取和写入都是通过buffer进行的,而BIO要不是输入流也不是输出流,是单向的;而NIO的buffer即可读取也可写入,是双向的的,注意需要flip进行切换
- channel是双向的,可以返回底层操作系统的状态,比如linux操作系统,底层的通道就是双向的
本文标题:NIO三大核心selector、channel、buffer的关
本文链接:https://www.haomeiwen.com/subject/ahydphtx.html
网友评论