자바스크립트의 싱글 스레드와 비동기

박건웅·2021년 7월 25일
0

자바스크립트는 싱글 스레드로 동작합니다.

그런데 어떻게 비동기 작업들이 가능한지 알아보도록 하겠습니다.


자바스크립트가 동작하는 환경에는 Javascript 엔진 말고도 Web API라는 것도 함께 동작합니다.

Web API에서는 타이머를 사용하는 작업을 하거나 AJAX통신 또는 파일에서 데이터를 읽어오는 등 시간을 소요하는 작업들을 수행합니다.

해당 Web API는 한번에 여러 스레드가 만들어 지며 콜백함수를 포함하는 태스크들을 처리합니다.

콜백함수를 포함하는 태스크들은 순차적으로 Task Queue에 콜백함수들이 들어갑니다.

태스크 큐에서 순차적으로 각 콜백함수들이 자바스크립트 엔진으로 이동하게 되는데,

이를 해주는 장치를 이벤트 루프 라고 합니다.

이벤트 루프는 비동기 작업이나, 클릭 등의 사용자 입력으로부터 Task Queue를 통해 들어오는 콜백함수들을 처리하는 역할을 합니다.

유튜브 참조 : https://www.youtube.com/watch?v=m0icCqHY39U

profile
Junior FE Developer

0개의 댓글

관련 채용 정보