I/O流数据源包括,字节数组,string对象,文件,“管道”,流组成的序列,其它数据源(Internet连接等)

字节流:处理数据的基本单位是单个字节,用来处理二进制数据;默认不使用缓冲区

字符流:处理数据的基本单位是Unicode码元(大小2字节),用来处理文本数据;使用缓冲区

输入流(InputStream):从文件读取数据,是一个获取数据的过程

输出流(OutputStream):将数据写入到文件,是推送数据的过程

 

同步,异步:任务A调用任务B的过程中,若A等待B的结果,则为同步;若A不等待B的结果,则为异步 

同步状态下任务A的执行时依赖于任务B的,任务A成功是依赖于成功B的。而异步模式下两者是不相关的。

 

阻塞和非阻塞:任务A等待B的结果的过程中,若A等待的过程中会被挂起,则为阻塞;若A等待的过程中不会挂起,则为非阻塞

同步阻塞的情况下,任务A会挂起,同步非阻塞的情况下任务A并不挂起。不挂起的情况下任务A保留有响应信号的能力;

非阻塞的情况下并不会导致线程切换(只是不强制进行线程切换,如果该线程的时间片用完还是会切换的),可能效率更高,cpu利用率也更高

 

5种IO模型

阻塞式IO

非阻塞式IO

IO复用模型

信号驱动IO

异步IO

 

netty

 

posted on 2019-04-07 23:45  MC伍  阅读(181)  评论(0编辑  收藏  举报