老师,OutputStream#write() 是阻塞方法吗?我自己测试的结果是不阻塞,请指点一下。
来源:7-1 阻塞IO和⾮非阻塞IO
EverL
2019-09-05
Client.java
Server.java
写回答
1回答
-
Qiujuer
2019-09-06
你这里的代码有一定的错误。
客户端部分,对于println方法是一个输出方法,此时的writer是socket链接的流,所以进行该方法调用时会直接将文字发送给Socket的流进行处理,这个地方基本不阻塞,但是并不代表他不是阻塞方法,他会等待将数据发送给缓冲区后就继续往下走。
对于服务器部分,你的Syste.in.read() 方法无需调用的哈,因为该方法的调用会进入控制台的流等待状态,而不能得到客户端发送过来的数据,可以将改行去掉。
022019-09-08
相似问题