본문 바로가기

Event Loop2

Javascript에서 호출스택(callstack)과 태스크 큐의 관계는 무엇인가요? 면접관 : Javascript에서 호출스택(callstack)과 태스크 큐의 관계는 무엇인가요? 면접자 : 호출 스택(콜 스택)은 코드를 실행하면서 수행할 코드를 쌓고 메모리 힙에서 필요한 것들을 찾아 수행하는 공간입니다. 참고로 메모리 힙은 변수, 함수 저장 등 작업이 발생하는 공간입니다. 비동기 함수를 실행시키면 호출 함수는 콜 스택에 쌓여 차례로 실행되고 콜백 함수는 특정영역에 쌓이게 되는데 이 영역이 태스크 큐입니다. 태스크 큐는 이런 태스크들이 적재되는 공간입니다. 콜 스택에 있는 작업이 실행되면서 이벤트 루프는 계속 콜 스택이 비어있는지 체크를 합니다. 이벤트 루프가 콜 스택이 비어있다는 걸 확인하게 되면 비로소 태스크 큐에 있던 작업들이 콜 스택으로 옮겨진 후 차례로 실행되게 됩니다. 참조 .. 2022. 10. 8.
JavaScript - 콜스택, 태스크 큐, 이벤트 루프 콜스택과 메모리 힙 자바스크립트는 단일 쓰레드로써 한 번에 한개의 작업을 진행합니다. 메모리 힙(Memory Heap) : 정보를 저장하는 공간 콜스택(Call Stack) : 실행 중인 코드를 추적하는 공간 자바스크립트는 힙, 큐와 함께 구성하는 단일 콜스택을 갖습니다. 메모리 힙은 자바스크립트 엔진이 구동되면서 변수, 함수 저장, 호출 등의 작업이 발생하는 공간입니다. 콜 스택(Call Stack)은 코드를 읽어내려가며 수행 할 작업들을 밑에서 부터 하나씩 쌓고, 메모리 힙(Memory Heap)에서 필요한 것들을 찾아서 작업을 수행하는 공간입니다. 콜 스택은 stack 자료구조를 가지고있으며 LIFO(Last In First Out) 또는 FILO(First In Last Out) 형태입니다. 간단.. 2022. 10. 1.