![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程三剑客
今天你学习了么
这个作者很懒,什么都没留下…
展开
-
IO模型
阻塞和非阻塞,同步和异步 简单理解几种Java IO模型 Java 网络 IO 模型 1. 几种IO模型概述 例子来自阻塞和非阻塞,同步和异步 故事:老王烧开水。 出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。 老王想了想,有好几种等待方式 ① 同步阻塞 老王用水壶煮水,并且站在那里,不管水开没开,每隔一定时间看看水开了没 -同步阻塞 ② 同步非阻塞 老王想了想,上面方法...原创 2020-04-05 20:49:00 · 134 阅读 · 0 评论 -
NIO实现多人聊天室
1. 前言 首先对应NIO来说是同步非阻塞的,这里再看一下什么是同步什么是异步,什么是阻塞什么是非阻塞 ① 同步VS异步 同步 同步和异步关注的是消息通信机制,所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了 换句话说,就是由调用者主动等待这个调用的结果 异步 而异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一...原创 2020-04-05 19:30:48 · 238 阅读 · 0 评论 -
NIO
Java NIO 的前生今世 之四 NIO Selector 详解 1. BIO的问题 BIO是阻塞IO,那么阻塞到底发生在哪里? ① ServserSocket.accept()是阻塞的 ② 所有输入流和输出流都是阻塞的,接收方等待发送方发送消息的时候是阻塞等待的,如果发送方一直不发送消息,那么接收方就要一直阻塞等待干不了其他事 ③ 在BIO多人聊天室的案例中,由于BIO输出输出的阻塞,我们不得...原创 2020-04-05 11:35:04 · 102 阅读 · 0 评论 -
BIO
1. 同步vs异步/阻塞vs非阻塞 1. 同步vs异步 同步和异步是在通信机制的层面上的,如果A向B发送请求,B的响应只有等B处理完才返回这就是同步; 而对于上面的情景异步是A向B发送请求,B虽然还在处理请求,但是B会先告诉A,你不用等我了,先自己去忙吧,我的结果要等一会才能出来 2. 阻塞vs非阻塞 阻塞和非阻塞是等待调用结果的时候的进程状态 阻塞A给B发送请求以后,A就什么也不干一直等待B的...原创 2020-04-03 12:07:52 · 133 阅读 · 0 评论