BIO/NIO

2019-07-24  本文已影响0人  快点给我想个名

同步IO和异步IO的区别就在于:数据访问的时候进程是否一直等待!
阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!

Unix网络编程5种I/O模型
阻塞I/O
阻塞I/O.png
非阻塞I/O
非阻塞I/O.png
I/O复用
I/O复用.png
信号驱动的I/O
信号驱动的I/O.png
异步I/O
异步I/O.png
上述五种I/O模型文字描述详见:https://blog.csdn.net/hguisu/article/details/7453390
Java IO模型
1:1同步阻塞IO通信模型
1:1同步阻塞IO通信模型.png

客户端创建连接,被Acceptor接收,之后Acceptor创建一个线程处理客户端请求,一个客户端对应一个线程。

M:N同步阻塞IO通信模型
M:N同步阻塞IO通信模型.png

不在一个用户创建一个线程,而是将请求交给线程池处理。

非阻塞式IO模型(NIO)--NIO+单线程Reactor模式
非阻塞式IO模型--单线程Reactor模式.png
非阻塞式IO模型(NIO)--NIO+多线程Reactor模式
非阻塞式IO模型--多线程Reactor模式.png
非阻塞式IO模型(NIO)--NIO+主从多线程Reactor模式
非阻塞式IO模型--主从多线程Reactor模式.png
上述Java IO模型文字描述详见:https://blog.csdn.net/qq924862077/article/details/81026740

java NIO 参考资料http://tutorials.jenkov.com/java-nio/index.html

上一篇下一篇

猜你喜欢

热点阅读