〈
Node.js 프로세스, 스레드
2024.03.11.

프로세스 및 스레드
1. Node.js의 멀티태스킹
- Node.js는
한 번에 여러가지 작업을 처리할 수 있는데 이는 프로세스와 스레드를 통해 가능함
1-1. 프로세스와 스레드란?
윈도우의 작업관리자및Mac의 활성상태보기를 보면 현재 실해되고 있는프로세스(작업)리스트들과 해당 프로세스를 위해 할당된스레드의 개수를 볼 수 있음
- 프로세스(Process)
- 컴퓨터가 어떤 일을 하고있는 상태를
프로세스라고 함 동시성(Concurrent): 프로세서가 여러 프로세스를 빠르게 번갈아가며 처리하여 모든 프로세스가 마치 동시에 처리되는 것처럼 보이게 함병렬성(Parallel): 여러 프로세서가 여러 프로세스를 각각 동시에 처리- 프로세스는 동시성과 병렬성을 복합적으로 사용하여 처리됨
- 스레드(Thread)
- 하나의 프로그램(브라우저의 여러 개의 탭)에서 알림, 검색 등 여러 기능을 할 수 있음 이는 한 프로세스 내에서 여러 작업이 동시에 이루어지기 때문이며 이 과정에서 스레드를 이용하게 됨
스레드란프로세스 내에서 일을 처리하는세부 실행 단위를 말함
- 멀티스레드
- 하나의 프로세스 안에서
멀티스레드를 이용할 경우, 해당 스레드들은자원을 공유하게 됨 - 공유 자원을 통해 좀 더 빠른 일처리가 가능하지만
공유 자원에 여러 스레드가동시에 접근할 경우,에러가 발생할 수 있음 - 동기화 작업이 필요함
- 병목현상이 발생하면 오히려 성능이 저하될 수 있음
