메시지큐

    [JS] 메시지 큐와 이벤트 루프 (Message Queue and Event Loop)

    [JS] 메시지 큐와 이벤트 루프 (Message Queue and Event Loop)

    자바스크립트의 특징 자바스크립트는 기본적으로 싱글 쓰레드 기반 언어이기 때문에 호출 스택이 하나이고, 한번에 한 가지 일만 처리할 수 있습니다. 자바스크립트를 작동시키는 엔진은 메모리힙(Memory Heap)과 콜스택(CallStack)을 동작시킵니다. 하지만 자바스크립트로 AJAX처리나 setTimeOut, addEventListener 등 함수를 이용해 비동기적 작업 처리가 가능합니다. 이런 작업이 가능한 이유는 자바스크립트 런타임이 메모리힙과 스택으로만 이뤄진 것이 아니라 브라우저에서 제공하는 Web API와 Event Queue와 Event Loop라는 것이 존재하기 때문입니다. 메시지 큐 메시지 큐는 자료구조 큐(Queue) 기반으로 구서오디어 있습니다. LIFO(Last in First Out..