이 내용을 바탕으로 나는 question을 다음과 같이 질문합니다. 가정 I/O를 차단하고 나는 다음과 같은 코드 조각이 :이 코드는 읽고 몇 바이트를 가지고 때까지 read
호출에 차단하는 것입니다가용 및 읽음 : 블로킹 Java 입출력을 사용하면서 실제로 비 블로킹이 가능합니까?
byte[] data = new byte[10];
someInputStream.read(data)
합니다. 나는 read
이 실제로 더 적은 바이트를 읽을 수도 있고 읽은 바이트 수가 read
메소드에 의해 리턴 될 것임을 잘 알고 있습니다.
내 질문은 여기 있습니다. 나는이 가정
byte[] data = new byte[10];
if (someInputeStream.available() >= 10) {
someInputStream.read(data); // ***
}
는 ***
라인은 차단하지 보장되어 있습니까? 다시 말하지만,이 읽기가 여전히 10 바이트 미만일 수 있음을 알고 있습니다.