同步IO和异步IO的区别就在于:数据访问的时候进程是否一直等待!
阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!
Unix网络编程5种I/O模型
阻塞I/O
阻塞I/O.png非阻塞I/O
非阻塞I/O.pngI/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
网友评论