为了账号安全,请及时绑定邮箱和手机立即绑定

java 流的阻塞是什么意思?为什么下面的代码不会阻塞

java 流的阻塞是什么意思?为什么下面的代码不会阻塞

人间的下午茶 2016-12-22 07:47:45
新手自己看书到这部分 不是很理解这里的阻塞read 和 write 方法在执行时都将阻塞,直至字节确实被读入或写出。这就意味着如果 流不能被立即访问(通常是因为网络连接忙),那么当前的线程将被阻塞。这使得在这两个方 法等待指定的流变为可用的这段时间里,其他的线程就有机会去执行有用的工作。 available 方法使我们可以去检查当前可读入的字节数量,这意味着像下面这样的代码 片段就不可能被阻塞:int bytesAvailable=in.available();if(bytesAvailable>0){bytep[ data =new byte[bytesAvailable];in.read(data);}为什么这样就不会阻塞?
查看完整描述

1 回答

?
一条小咸鱼

TA贡献457条经验 获得超255个赞

因为你检查过了阿

查看完整回答
反对 回复 2016-12-23
  • 1 回答
  • 0 关注
  • 2034 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信