新手自己看書到這部分 不是很理解這里的阻塞read 和 write 方法在執行時都將阻塞,直至字節確實被讀入或寫出。這就意味著如果 流不能被立即訪問(通常是因為網絡連接忙),那么當前的線程將被阻塞。這使得在這兩個方 法等待指定的流變為可用的這段時間里,其他的線程就有機會去執行有用的工作。 available 方法使我們可以去檢查當前可讀入的字節數量,這意味著像下面這樣的代碼 片段就不可能被阻塞:int bytesAvailable=in.available();if(bytesAvailable>0){bytep[ data =new byte[bytesAvailable];in.read(data);}為什么這樣就不會阻塞?
添加回答
舉報
0/150
提交
取消