标签:权威指南 request asa ref href 缓冲 hat att The
1.4版本之前JAVA对IO的支持不完善。
(1)缓冲区
(2)没有Channel,只有输入与输出流
(3)同步阻塞IO(BIO)
(1)阻塞IO模型
(2)非阻塞IO模型
(3)IO复用模型
(4)信号驱动IO模型
(5)异步IO
(1)停顿不等待
异步与非阻塞都可以理解为停顿不等待
(2)停顿等待
同步与阻塞都可以理解为停顿等待
(1)A synchronous I/O operation causes the requesting process to be blocked until that I/O operation completes
(2)An asynchronous I/O operation does not cause the requesting process to be blocked;
(1)两者区别在于synchronous在做IO操作时将进程阻塞。阻塞IO模型、非阻塞IO模型、IO复用模型、信号驱动IO模型都是同步。例如:非阻塞IO模型在kernel(内核)准备好数据时,会调用recvfrom将数据从内核复制到用户空间。信号驱动IO模型会在数据准备好之后,通知应用程序进行IO操作。asynchronous则是在应用进程发起IO操作后,就直接返回,知道操作系统完成IO操作(其中包括将数据从内核复制到用户空间)后,通知应用进程I/O操作完成。
总结一句话就是整个IO操作过程是不是操作系统完成的(其中包括将数据从内核复制到用户空间)
(1)结合(2)(3)可知
[1] https://blog.csdn.net/historyasamirror/article/details/5778378
(《Unix网络编程》)
[2] https://blog.csdn.net/matthew_zhang/article/details/71328697
[3] Netty权威指南 第一章 4-5页
标签:权威指南 request asa ref href 缓冲 hat att The
原文地址:https://www.cnblogs.com/boycelee/p/10014400.html