美文网首页
NIO三大核心selector、channel、buffer的关

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