[Node.js] Node.js 이벤트 루프
글 작성자: 망고좋아
반응형
🎯 Node.js 이벤트 루프
- 이벤트(event)를 처리하는 반복되는 동작(loop)이다.
- 즉, Node.js가 비동기-이벤트 동작을 처리하는 일련의 반복 동작이다.
- 이벤트 루프는 Node.js만의 특징은 아니다.
- JavaScript의 일반적인 동작 방식으로, 브라우저에도 있다.
- 브라우저와 Node.js의 이벤트 루프는 기본적인 동작 방식에 큰 차이가 없다.
📝 이벤트 루프 구성요소
📕 Call Stack
- 작성된 함수들이 등록되는 LIFO 스택
- 이벤트 루프는 콜스택이 비어있을 때까지 스택의 함수를 실행
📕 Message Queue
- setTimeout 같은 지연 실행 함수를 등록하는 FIFO 큐
- 정해진 timing이 끝나고, 콜스택이 비어있을 경우 등록된 함수를 콜스택에 추가
- 콜스택이 비어있을 때까지 즉, 모든 함수가 종료될 때까지 대기하다가 콜스택에 추가하여 실행된다.
📕 Job Queue
- Promise에 등록된 콜백을 등록하는 FIFO 큐
- 상위 함수가 종료되기 전에 콜스택이 비어있지 않더라도 잡큐에 등록된 콜백을 콜스택에 추가
- D과정은 그림에서 생략
🏷 요약
- 이벤트 루프는 비동기 동작의 실행 타이밍을 이해하는 것이 중요하다,
- setTimeout 은 콜스택이 비어있을 때 실행된다.
- Promise는 상위 함수가 종료되기 전에 실행된다.
반응형
'프로그래밍 > Node.js' 카테고리의 다른 글
[Node.js] Node.js 모듈의 작성과 사용 (0) | 2021.12.02 |
---|---|
[Node.js] Node.js 모듈 (0) | 2021.12.02 |
[Node.js] npm과 npx는 무엇인가? (0) | 2021.12.02 |
[Node.js] Node.js 특징 (0) | 2021.12.02 |
[Node.js] 자바스크립트 콘솔에서 입력 받는 방법 (0) | 2021.11.05 |
댓글
이 글 공유하기
다른 글
-
[Node.js] Node.js 모듈
[Node.js] Node.js 모듈
2021.12.02 -
[Node.js] npm과 npx는 무엇인가?
[Node.js] npm과 npx는 무엇인가?
2021.12.02 -
[Node.js] Node.js 특징
[Node.js] Node.js 특징
2021.12.02 -
[Node.js] 자바스크립트 콘솔에서 입력 받는 방법
[Node.js] 자바스크립트 콘솔에서 입력 받는 방법
2021.11.05