签到33!
学习总结
最是人间留不住,朱颜辞镜花辞树
1、BIO与NIO
区别:
-
通信
-
面向流
数据只能从头一个字节一个字节的读取,直到读完为止;
-
面向缓冲
将数据存储到缓冲区,能够向前向后读,判断缓冲区是否还有未处理的数据,可以灵活处理数据;
-
-
处理方式
-
阻塞
当一个线程进行read或者write的时候,就阻塞到哪里,直到读取或者写入完成。线程不能做其他事情
-
非阻塞
当一个线程进行读写操作时,面向通道的,在未读写完成,可以做其他事情,所以一个线程可以管理多个channel;
-
-
触发
-
无
-
选择器
允许一个单独的线程监视多个通道,可以注册多个通道使用一个选择器,然后使用单独的线程选择通道;当这些通道已经有可以处理的输入或者已准备写入的通道。这种机制能够使得一个单独的线程很容易管理多个通道。
-