qiuyadong's Homepage

netty2

2020-03-03

签到33!

学习总结

最是人间留不住,朱颜辞镜花辞树

1、BIO与NIO

区别:

  • 通信

    • 面向流

      数据只能从头一个字节一个字节的读取,直到读完为止;

    • 面向缓冲

      将数据存储到缓冲区,能够向前向后读,判断缓冲区是否还有未处理的数据,可以灵活处理数据;

  • 处理方式

    • 阻塞

      当一个线程进行read或者write的时候,就阻塞到哪里,直到读取或者写入完成。线程不能做其他事情

    • 非阻塞

      当一个线程进行读写操作时,面向通道的,在未读写完成,可以做其他事情,所以一个线程可以管理多个channel;

  • 触发

    • 选择器

      允许一个单独的线程监视多个通道,可以注册多个通道使用一个选择器,然后使用单独的线程选择通道;当这些通道已经有可以处理的输入或者已准备写入的通道。这种机制能够使得一个单独的线程很容易管理多个通道。



Comments