JavaScript는 Single Thread(Stack이 하나) 기반, 이벤트 루프 기반
Thread가 하나라는 것은 한 번에 하나의 작업만 수행가능하다는 것인데
실제 JavaScript를 이용하다보면 동시에 여러 작업이 수행되는 것처럼 느껴질 때가 있다.
JavaScript가 이러한 동시성을 지원할 수 있는 이유가 바로 Event Loop이다.
추후 내용이 추가될 수 있습니다.
자바스크립트 엔진은 크게 3가지로 나뉜다.
Event Loop는 Call Stack과 Task Queue의 상태를 계속 확인하며
Call Stack이 빈 상태가 되면 Task Queue에서 첫 번째 Task를 Call Stack에 추가한다.
이 작업을 반복적으로 수행하는 것이 바로 Event loop이다.