2024.04.25 TIL - nodejs 이벤트루프

김민석·2024년 4월 25일
0

TIL

목록 보기
78/78

이벤트 루프

이벤트 루프는 nodejs가 비동기 작업을 관리하기 위한 구현체.

이벤트 루프는 실시간으로 두 가지 일을 하는데, 하나는 콜 스택이 비워져있는지 확인하고, 다른 하나는 콜백 큐에 콜백이 있는 지이다. 이벤트 루프는 콜 스택이 비워져 있고 콜백 큐에 콜백이 있으면 그 콜백을 콜 스택에 옮겨 실행되도록 한다

이벤트루프의 특징

  • 이벤트 루프는 총 6개의 페이즈로 구성되어 있으며 한 페이즈에서 다음 페이즈로 넘어가는 것을 틱이라고 함

  • 각 페이지는 자신만의 큐를 관리하고

  • nodejs는 순서대로 페이즈를 방문하면서 큐에 쌓인 작업을 하나씩 실행

  • 페이즈의 큐에 담긴 작업을 모두 실행하거나 시스템의 실행 한도에 다다르면 nodejs는 다음 페이즈로 넘어감

  • 이벤트 루프가 살아있는 한 nodejs는 이벤트 루프를 반복

이벤트 루프의 6가지 페이지
1. Timer
2. Pending Callbakcs
3. Idle, Prepare
4. Poll
5. Check
6. Close Callbakcs

profile
화이팅 화이팅

0개의 댓글