Node를 잘 이해하기 위해서는 자바스크립트의 동시성 모델에 대해 잘 이해해야 합니다.
자바스크립트의 실행 모델은 크게 event loop, call stack, callback queue 개념등으로 이루어집니다.
event loop 모델:
event loop는 여러가지 스레드를 사용합니다. 그중 우리가 작성한 자바스크립트 코드가 실행되는 스레드를 메인 스레드라 부릅니다. 한 Node.js 프로세스에서 메인 스레드는 하나이며, 한 순간에 한줄씩만 실행합니다. 그러나 그 일 외의 일 을 하는 워커 스레드는 여럿이 있을 수 있습니다.
Call Stack:
콜 스택이라는 것은, 이제 시점까지 불린 함수들의 스택입니다.
스택이라는 자료 구조는 아래에서 위로 차곡차곡 쌓였다가 위에 쌓인 것부터 하나씩 빼내는 방식으로 동작하는 자료구조입니다.
그래서 콜스택이라는 것은 함수가 호출될 때 쌓이고, 리턴할 때 빠집니다.
콜 스택이 우리 자바스크립트 실행 모델과 어떤 연관이 있는지 살펴보자면 우선 콜 스택은 빈 상태에서 출발합니다. 그러다가 어떤 콜백을 어떤 요인에 의해서 실행하게 될겁니다.
'IT-백엔드' 카테고리의 다른 글
Rest API에 대해서 2 (0) | 2024.01.24 |
---|---|
node.js 로그인 인증 기능 만들기 in 서버 (0) | 2024.01.24 |
node.js 서버의 응답데이터 처리 (0) | 2024.01.24 |
자바스크립트의 생태계와 Node.js의 역사 (0) | 2024.01.24 |
백엔드 개발 환경 설정하기(npm, 린터, 포매터) (2) | 2024.01.24 |