이벤트 루프

Kyuuu_ul·2024년 1월 30일

자바스크립트는 어떤 언어인가요?
논블로킹(Non-blocking) : 코드의 실행이 다른 코드의 실행을 막지 않는다.
싱글스레드(single thred) : 하나의 프로세스에서 오직 하나의 스레드로만 실행.

자바스크립트 = 논블로킹, 싱글스레드 언어

Call Stack: 자바스크립트 엔진이 코드실행을 위해 사용하는 스택 메모리 구조

(LIFO, Last In First Out)을 따른다.


Memory Heap: 동적으로 할당된 변수, 함수 등이 저장되는 공간


Wep Apis: 브라우저에서 제공하는 API들, 비동기적으로 실행되는 작업 관리

자바스크립트 엔진이 아닌 브라우저에서 제공해준다.


Callback Queue: 비동기적으로 실행된 함수들이 대기하는 공간

Task(Macro) Queue : setTimeout, setInterval, fetch, addEventListener 와 같이 비동기로 처리되는 함수들의 콜백 함수가 들어가는 큐

Microtask Queue : promise.then, process.nextTick, MutationObserver 와 같이 우선적으로 비동기로 처리되는 함수들의 콜백 함수가 들어가는 큐 (처리 우선순위가 높음)


Event Loop: 브라우저의 동작 타이밍을 관리해주는 관리자 역할

Call Stack이 비면 Callback Queue의 첫번째 콜백을 Call stack에 넣는다.

0개의 댓글