비동기는 왜 사용해야 하는가?

자바스크립트는 싱글쓰레드로 동작하기 때문에 위와 같은 처리가 필요한 경우, 처리되는 동안 다른 동작을 할 수가 없게됩니다. 우리는 일상생활에서 비동기식 행동을 자주합니다. 항상 어떻게 하면 시간을 아끼면서 여러가지 일을 동시에 처리할 수 있을까 고민하게 됩니다.

예를 들어 만약

  1. 컵라면을 먹는다

  2. 드라마를 본다.

이 두 가지 행동을 처리한다고 할 때,

컵라면을 다 끓이고 드라마를 보는게 처리 시간에 있어서 효율적일까요?

  1. 컵라면 물을 끓인다. (+3분)
  2. 물이 끓으면 컵라면을 까서 스프를 넣고 뚜껑을 닫는다.(+1분)
  3. 3분뒤 컵라면을 먹는다.(+3분)
  4. 티비로 가서 보고 싶은 드라마를 고른다.(+1분)
  5. 드라마를 결정하고 재생한다.(+1분)
  6. 드라마를 보면서 먹는다.(종료 : 총 9분 )

두 가지를 동시에 진행하는게 효과적일까요?