스레드(Thread)란? 스레드란 light weight process라고 불릴 정도로 프로세스와 유사한 개념이다. 이전 글에서 프로세스는 프로그램을 실행시켜서 메모리에 로드한 것이라고 설명한 바 있다. 운영체제로부터 메모리와 CPU 등의 자원을 할당받을 때에는 이렇게 프로세스를 기준으로 할당을 받는다. 스레드는 프로세스를 기준으로 할당받은 자원을 CPU가 실제로 이용하는 것의 기본 단위다. 즉, 프로세스 안에 스레드를 여러 개 두어서 프로세스 단위로 할당받은 자원을 이용해 CPU가 작업을 할 때 스레드 단위로 나누어 처리하도록 할 수 있는 것이다. 이런 이유로 스레드를 light weight process라고도 하는 것이며, 전통적인 개념의 heavyweight process는 단 하나의 스레드로 이루..