더북(TheBook)

1.1.5 싱글 스레드

 

이벤트 기반, 논블로킹 모델과 더불어 노드를 설명할 때 자주 나오는 용어가 하나 더 있습니다. 바로 싱글 스레드입니다. 스레드를 이해하기 위해서는 프로세스도 알아야 하지만, 지금은 그냥 스레드가 컴퓨터 작업을 처리할 수 있는 일손이라고 생각하면 됩니다. 조금 뒤에 자세히 알아봅니다.

노드가 싱글 스레드라는 말을 들어보셨나요? 노드는 싱글 스레드이므로 주어진 작업을 혼자서 처리해야 합니다. 반대로 멀티 스레드인 시스템에서는 여러 개의 스레드가 일을 나눠서 처리할 수 있습니다.

자바스크립트와 노드에서 논블로킹이 중요한 이유는 바로 싱글 스레드이기 때문입니다. 한 번에 한 가지 일밖에 처리하지 못하므로 어떠한 작업에서 블로킹이 발생하면 다음 일을 처리하지 못합니다.

언뜻 보면 여러 개의 일을 동시에 처리할 수 있기 때문에 멀티 스레드가 싱글 스레드보다 좋아 보입니다. 하지만 꼭 그런 것만은 아닙니다. 이해를 돕기 위한 예시를 하나 들어보겠습니다.

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