logo

JEONGGON

    블로그
github
mode
목 차
down-arrow

Node.js 프로세스, 스레드

2024.03.11.

post-thumbnail

프로세스 및 스레드

1. Node.js의 멀티태스킹

  • Node.js는 한 번에 여러가지 작업을 처리할 수 있는데 이는 프로세스와 스레드를 통해 가능함

1-1. 프로세스와 스레드란?

  • 윈도우의 작업관리자Mac의 활성상태보기를 보면 현재 실해되고 있는 프로세스(작업) 리스트들과 해당 프로세스를 위해 할당된 스레드의 개수를 볼 수 있음

- 프로세스(Process)

  • 컴퓨터가 어떤 일을 하고있는 상태를 프로세스라고 함
  • 동시성(Concurrent) : 프로세서가 여러 프로세스를 빠르게 번갈아가며 처리하여 모든 프로세스가 마치 동시에 처리되는 것처럼 보이게 함
  • 병렬성(Parallel) : 여러 프로세서가 여러 프로세스를 각각 동시에 처리
  • 프로세스는 동시성과 병렬성을 복합적으로 사용하여 처리됨

- 스레드(Thread)

  • 하나의 프로그램(브라우저의 여러 개의 탭)에서 알림, 검색 등 여러 기능을 할 수 있음 이는 한 프로세스 내에서 여러 작업이 동시에 이루어지기 때문이며 이 과정에서 스레드를 이용하게 됨
  • 스레드프로세스 내에서 일을 처리하는 세부 실행 단위를 말함

- 멀티스레드

  • 하나의 프로세스 안에서 멀티스레드를 이용할 경우, 해당 스레드들은 자원을 공유하게 됨
  • 공유 자원을 통해 좀 더 빠른 일처리가 가능하지만 공유 자원에 여러 스레드가 동시에 접근할 경우, 에러가 발생할 수 있음
  • 동기화 작업이 필요함
  • 병목현상이 발생하면 오히려 성능이 저하될 수 있음
nodejsprogrammingjavascriptprocessthread
profile

조정곤

주니어 프론트엔드 개발자

github
linkedin
instagram
email

< 이전글

Node.js Event Emitter

다음글 >

MongoDB 사용

Nodejs 포스트 (8)

down-arrow
Node.js 소개Node.js Blocking, Non-blockingNode.js Event EmitterNode.js 프로세스, 스레드Node.js 모듈Node.js 패키지Node.js index.js 파일Node.js 웹 서버 생성