이벤트 루프에 대한 설명 전 자바스크립트의 특징을 알아보자면,
자바스크립트는 싱글 스레드 기반의 언어로 한 번에 하나의 작업만 처리할 수 있다.
이벤트 루프는 이러한 자바스크립트의 특징으로 한 번에 한 가지 일만 처리할 수 있어서 비동기적으로 처리하기 위한 방법이라고 할 수 있다.
이벤트가 발생시 호출되는 콜백 함수들을 콜백 큐에 전달하고 콜백 큐에 담겨있는 콜백 함수들을 콜스택으로 넘겨준다.
나눠서 얘기하면,
1. 이벤트 발생!
2. setTimeout같은 콜백함수를 다시 날려주는 함수들의 이벤트 실행 시 콜백 큐로 넘겨줌.
3. 콜백 큐를 콜스택으로 다시넘겨주는 역할을 하는 게 바로 이벤트 루프.
위와 같은 과정을 통해서 싱글스레드 언어인 자바스크립트가 비동기처럼 작동할 수 있게 된다.
'CS > 기타' 카테고리의 다른 글
자바스크립트에서 Event Loop란? (0) | 2023.05.13 |
---|---|
서버(Server)란 무엇일까? (0) | 2023.05.01 |
자바스크립트(Javascript) 비동기의 역사 (0) | 2023.04.06 |
CSS 애니메이션과 Javascript 애니메이션의 차이? (0) | 2023.04.06 |
클로저(Closure)란? (0) | 2023.04.05 |