2
基於此question我想問以下問題。 假定阻塞I/O和I有如下所示的一段代碼:available and read:在使用阻塞Java I/O時,我們實際上可以是非阻塞嗎?
byte[] data = new byte[10];
someInputStream.read(data)
此代碼段會在read
呼叫阻塞,直到它有一些要讀取的字節。我很熟悉read
實際上可能讀取的字節數較少,讀取的字節數將由read
方法返回。
我的問題是這樣的。假設我有:
byte[] data = new byte[10];
if (someInputeStream.available() >= 10) {
someInputStream.read(data); // ***
}
是***
行保證不會阻止?同樣,我知道這個讀取仍然可能讀取少於10個字節。