nodejs 기본동작원리 + single thread + event loop + Blocking + Non-Blocking in nodeJS

GI JUNG·2022년 10월 18일
2

nodejs

목록 보기
1/6
post-thumbnail

시스템의 실행한도(실행할 수 있는 최대 콜백 개수)

nodejs란?

nodejs는 C++로 작성된 런타임(특정 언어로 만든 프로그램을 실행할 수 있는 환경)으로서 브라우저에서만 실행할 수 있던 자바스크립트를 로컬에서 실행할 수 있어 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 설계되었다.
그리고 nodejs를 공부하게되면single thread non-blocking model이란 개념이 계속 나온다. single thread면 하나의 프로세스 처리를 끝내야 다음 프로세스를 처리할 수 있는 blocking model이 아닌가 생각하여 nodejs는 single thread라면서 어떻게 non-blocking model이라는 거지???🤔라는 의문을 품었었다.
하지만, 여기에서 event looplibuv & OS Kernel을 통해 nodejs는 single thread임에도 불구하고 I/O 작업(filesystem, network, third party API, http etc...)이 발생하면 이를 non-blocking으로 비동기 작업을 수행할 수 있다.

nodejs 내부구조

// TODO: 계속 정리해야 됨

geeksforgeeks

nodejs동작원리 single-thread, event-loop, blocking/Non-blocking I/O, event driven

event loop 설명 자세히 돼있음

블로킹 및 논블로킹 코드

nodejs docs event loop

event-driven-architecture

profile
step by step

0개의 댓글