新手自己看書到這部分 不是很理解這里的阻塞read 和 write 方法在執(zhí)行時(shí)都將阻塞,直至字節(jié)確實(shí)被讀入或?qū)懗?。這就意味著如果 流不能被立即訪問(通常是因?yàn)榫W(wǎng)絡(luò)連接忙),那么當(dāng)前的線程將被阻塞。這使得在這兩個(gè)方 法等待指定的流變?yōu)榭捎玫倪@段時(shí)間里,其他的線程就有機(jī)會(huì)去執(zhí)行有用的工作。 available 方法使我們可以去檢查當(dāng)前可讀入的字節(jié)數(shù)量,這意味著像下面這樣的代碼 片段就不可能被阻塞:int bytesAvailable=in.available();if(bytesAvailable>0){bytep[ data =new byte[bytesAvailable];in.read(data);}為什么這樣就不會(huì)阻塞?
添加回答
舉報(bào)
0/150
提交
取消