더북(TheBook)

블로킹과 논블로킹 말고도 동기와 비동기라는 개념에 대해서도 들어보았을 것입니다. 이 개념은 코드를 보지 않고서는 이해하기 어렵습니다. 동기와 비동기, 블로킹과 논블로킹의 관계는 3.6.1절에서 코드와 함께 설명합니다. 그 전까지는 동기와 블로킹이 유사하고, 비동기와 논블로킹이 유사하다고만 알아두면 됩니다.

다음 예제는 블로킹 방식의 코드입니다. 콘솔 결과를 미리 예측해보세요.

function longRunningTask() {
  // 오래 걸리는 작업
  console.log('작업 끝');
}
console.log('시작');
longRunningTask();
console.log('다음 작업');

 

결과는 다음과 같습니다.

콘솔

시작
작업 끝
다음 작업

 

작업을 수행하는 데 오래 걸리는 longRunningTask 함수가 있다고 가정해봅시다. 이 작업이 완료되기 전까지는 이어지는 console.log('다음 작업')이 호출되지 않습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.