Event Loop

· NODE.JS
Event Loop 이벤트 루프는 node.js가 비동기 이벤트를 관리하고 실행할 수 있게 하는 구현체이다. 이전 글에서 이벤트 루프에 대해 썼는데, 몇몇 단계에 대해 더 깊게 알아보려고 한다. timers Timer phase는 이벤트 루프의 시작을 알리는 페이즈이다. 이 페이즈가 가지고 있는 큐에는 setTimeout이나 setInterval 타이머들의 콜백을 저장하게 된다. 이 부분에서 바로 타이머들의 콜백이 큐에 들어가는 것은 아니며 타이머들은 min heap에 들어가 있게 된다. 힙에 만료된 타이머가 있는 경우 이벤트 루프는 연결된 콜백을 가져와서 타이머 대기열이 비어있을 때까지 지연의 오름차순으로 실행을 시작한다. min heap(최소힙)은 데이터를 이진트리 형태로 관리하며 최소값을 찾아내는데..
· NODE.JS
Event Loop 이벤트 루프는 Node.js가 여러 비동기 작업을 관리하기 위한 구현체 비동기 작업들을 모아서 관리하고 순서대로 실행할 수 있게 해주는 도구 Event Loop 구조 - 각 박스는 특정 작업을 수행하기 위한 페이즈(phase)를 의미한다. - 그리고 한 페이즈에서 다음 페이즈로 넘어가는 것을 틱 (Tick)이라고 부른다. - 각 단계에서는 각각의 큐가 있다. 예를 들어서 setTimeout() 함수가 불러지면 timer라는 페이즈에 있는 큐에 쌓이게 된다. 그리고 이 큐는 First In First Out으로 먼저 들어온 게 먼저 나가게 되어있다. - 그리고 싱글 스레드이기 때문에 timers 페이즈에 있는 일을 끝내거나 최대 콜백 수가 될 때까지 한 후에 다른 단계로 이동하게 된다...