논블로킹 I/O
-
오래 걸리는 함수를 백그라운드로 보내서 다음 코드가 먼저 실행되게 하고, 그 함수가 다시 태스크 큐를 거쳐 호출 스택으로 올라오기를 기다리는 방식이 논블로킹 방식입니다.
-
즉, 이전 작업이 완료될 때까지 멈추지 않고 다음 작업을 수행합니다.
-
작업 처리에 시간단축을 시킬 수는 있지만 싱글 스레드라는 특성을 가지고 있어서 한계가 있습니다.
-
I/O는 입력(Input)/출력(Output)을 의미합니다. 파일 시스템 접근이나 네트워크 요청 같은 작업이 I/O의 일종입니다.
싱글 스레드
-
스레드는 프로세스 내에서 실행되는 흐름의 단위입니다.
-
하나의 프로세스는 스레드를 여러 개 가질 수 있습니다.
-
스레드들은 부모 프로세스의 자원을 공유합니다.
-
쉽게 말하면, 스레드란 컴퓨터 작업을 처리할 수 있는 일손으로 비유할 수 있습니다.
-
노드는 싱글 스레드이므로 주어진 작업을 혼자서 처리해야 합니다.
-
노드는 프로세스 자체를 복사해 여러 작업을 동시에 처리하는 멀티 프로세싱 방식을 택했습니다.
'웹개발(웹퍼블리셔) > 백엔드(Node.js)' 카테고리의 다른 글
Node.js 핵심 개념 이벤트 기반 (0) | 2019.10.09 |
---|---|
(Node.js 교과서)쿠키와 세션 이해하기(2) (0) | 2019.08.30 |
(Node.js 교과서)쿠키와 세션 이해하기(1) (0) | 2019.08.29 |
(Node.js 교과서)http 모듈로 웹서버 만들기 (0) | 2019.08.22 |
(Node.js/노드)Console 과 Process (0) | 2019.08.11 |