개발을 하면서 동기는 시점을 맞추고 비동기는 발생 시점과는 상관없이 실행시켜 놓는 느낌이고블락은 실행시킨 작업이 끝날 때까지 아무 작업도 하지 못하고 넌블락은 실행시킨 작업과 상관없이 제 할 일을 한다. 이런 식으로 대충 느낌만을 알고 용어를 쓰다 보니, 막상 비동기와 넌블락의 명확한 구분이라던지 동기-논블럭, 비동기-블럭 같이 조금만 때려버리면 정신을 차리지 못해, 이번에 마음먹고 정리해 보려고 한다. 우선, 동기와 비동기에 대해 다루기 전블럭과 논블럭에 대해 먼저 다뤄보도록 하자. 블로킹(Blocking) vs 논블로킹(Non-Blocking)블로킹(Bolocking)쉽게 말하면, 작업이 완료될 때까지 다른 작업을 하지 못하고 기다 대기한다.I/O 관점에서 블로킹은 다른 작업을 실행(함수 호출 등)..