BIO的概念
又称Java IO,是java.io包中的InputStream、OutputStream这种同步、阻塞的io。我们之前使用过这种io去读取、写入文件,又或是进行网络通讯,网络的输入输出流的处理(Tomcat中使用ServerSocket得到socket,然后socket.getIO)
以Socket为示例:
服务端监听指定端口8888,当一个客户端Socket连接上之后,服务端使用getInputStream()读取输入流,此时若有其他的客户端Socket连接过来,服务端线程由于被阻塞在getInputSream上了,就无法处理其他客户端请求了。
针对BIO的这个问题,通常使用线程池解决
java io的本质是用户空间和内核空间的数据交互:
java io 的流程图:
看了这个流程图,思考以下所谓的阻塞,是阻塞在了哪里?
5种io模型
OSI的七层模型VS四层模型
https://www.bilibili.com/video/BV1xE411W7Nt?from=search&seid=16104162724243030388
网友评论