본문 바로가기

JAVA/NIO2

[NIO.2]블로킹(BIO) 논블로킹(NIO) 차이점

728x90

블로킹 특징

- I/O가 가득 수신할 때까지 주어진 스레드가 아무것도 하지 않느다고 가정 하는 것이다. 이 경우 메소드가 즉시 애플리케이션으로 제어를 반환 하지 않으므로 애플리케이션에서는 대기 하기 된다.

블로킹과 동기는 같은 뜻이다.



논블로킹 특징

- I/O 요청을 즉시 큐에 넣고 애플리케이션으로 제어를 반환한다.(메서드 역시 즉시 반환 된다.)요청은 추후 커널에서 처리 된다.

또한 논블로킹과 비동기는 같은 것이 아니다. 논블로킹은 폴링(polling), 비동기는 병렬(parallel)에 가깝다.


참고 : http://stackoverflow.com/questions/2625493/asynchronous-vs-non-blocking


'JAVA > NIO2' 카테고리의 다른 글

블로킹 TCP 서버/클라이언트 작성하기  (0) 2014.03.11
[NIO.2]NetworkChannel  (0) 2014.02.14
[NIO.2]FileChannel  (0) 2014.02.05
[NIO.2]ByteBuffer  (0) 2014.02.04
[NIO.2]SeekableByteChannel  (0) 2014.02.04