[Node.js] 이벤트 기반, 싱글 스레드, 논블로킹(I/O)

seovalue·2020년 5월 13일
0

Node.js

목록 보기
3/3
post-thumbnail

Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임입니다. Node.js는 이벤트 기반, 논블로킹 I/O 모델을 사용해 가볍고 효율적입니다.

🎨 이벤트 기반

이벤트 기반(Event-driven)이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식을 의미한다. 이벤트 기반 시스템에서는 특정 이벤트가 발생할 때 무엇을 할지 즉, 이벤트 리스너에 콜백 함수를 등록해두어야 한다.

🎨 논블로킹 I/O

오래 걸리는 함수를 백그라운드로 보내서 다음 코드가 먼저 실행되도록 하고, 그 함수가 다시 태스크 큐를 거쳐 호출 스택으로 올라오기를 기다리는 방식이다.

🎨 싱글 스레드

스레드는 프로세스 내에서 실행되는 흐름의 단위이다. 하나의 프로세스는 스레드를 여러개 가질 수 있다. 스레드들은 부모 프로세스의 자원을 공유한다. 즉, 노드 프로세스는 스레드가 하나인 셈이며 요청이 많이 들어오면 한 번에 하나의 요청을 처리한다. 또한 논블로킹 방식이기 때문에 요청이 들어온 순서와 응답하는 순서가 다를 수 있다.

profile
도전을 좋아하고 호기심이 많아 시작하는 것을 좋아합니다 :-)

0개의 댓글