비동기, Asynchronous 와 동기,Synchronous 블로킹,Blocking 과 논 블로킹 Non-Blocking I/O 작업은 user space에서 직접 수행할 수 없기 때문에 user process가 kernel에 I/O 작업을 '요청'하고 '응답'을 받는 구조다. 응답을 어떤 순서로 받는지(synchronous/asynchronous), 어떤 타이밍에 받는지(blocking/non-blocking)에 따라 여러 모델로 분류되는 것이다. 일반적으로 4가지 개념에서 알아보자. 비동기 프로그래밍, 동기 프로그래밍이라는 말을 많이 듣는다. 우선 동기 작업이란 한 번에 하나씩 수행되는 것을 의미한다. 즉, 해당 작업이 끝나기 전까지는 현재 진행중인 작업 외의 다른 작업을 수행하지 못함을 의미한다...