더북(TheBook)

1.1.5 싱글 스레드

이벤트 기반, 논블로킹 모델과 더불어 노드를 설명할 때 자주 나오는 용어가 하나 더 있습니다. 바로 싱글 스레드입니다. 싱글 스레드란 스레드가 하나뿐이라는 것을 의미합니다. 여러분이 작성한 자바스크립트 코드가 동시에 실행될 수 없는 이유이기도 합니다. 스레드를 이해하기 위해서는 프로세스부터 알아야 합니다. 프로세스와 스레드의 차이는 다음과 같습니다.

프로세스는 운영체제에서 할당하는 작업의 단위입니다. 노드나 웹 브라우저 같은 프로그램은 개별적인 프로세스입니다. 프로세스 간에는 메모리 등의 자원을 공유하지 않습니다.

스레드는 프로세스 내에서 실행되는 흐름의 단위입니다. 프로세스는 스레드를 여러 개 생성해 여러 작업을 동시에 처리할 수 있습니다. 스레드들은 부모 프로세스의 자원을 공유합니다. 같은 주소의 메모리에 접근 가능하므로 데이터를 공유할 수 있습니다.

▲ 그림 1-11 스레드와 프로세스

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.