개발언어/Node.js

NodeJS 스레드

Surge100 2022. 12. 12. 17:00

 

점원:스레드 ,주문: 요청, 서빙:응답

싱글 스레드

대신 논 블로킹 모뎅릉 채택하여 일부 코드(I/O)를 백그라운드(다른 프로세스)에서 실행 가능

  • 요청을 먼저 박고, 완료될 때 응답함
  • I/O 관련 코드가 아닌 경우 싱글 스레드,블로킹 모델과 같아진다.

 

멀티 스레드 모델과의 비교

싱글 스레드 모델은 에러 처리를 하지 못하는 경우 멈춤

  • 프로그래밍 난이도도 쉽고,CPU,메모리 자원 적게 사용

멀티 스레드 모델은 에러 발생 시 새로운 스레드를 생성하여 극복

  • 단, 새로운 스레드 생성이나 놀고있는 스레드 처리에 비용 발생
  • 프로그래밍 난이도 어려움
  • 스레드 수만큼 자원을 많이 사용함

 

점원(스레드)이 하나인 체인점(노드 프로세스)을 여러개 -> 멀티 프로세싱

ex) 식당에 손님이 많아져서 요청이 많아지면 근처에 동일한 체인점을 여러개 내서 손님(요청을) 수행하는 방식으로 처리