📌 프로세스와 쓰레드 프로세스(Process)란 단순히 말해 '실행 중인 프로그램(Program)'을 뜻한다. 프로그램을 실행하면 OS(운영체제)로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. 즉, 다시말해 사용자가 작성한 프로그램이 운영체제 의해서 메모리 공간을 할당받아 실행 중인 것을 말한다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원, 쓰레드로 구성되어있다. 쓰레드(Thread)란 프로세스(process) 내에서 실제로 작업을 "수행하는 주체"를 의미한다. 그렇기에 모든 프로세스에는 한 개 이상의 쓰레드가 존재하여 작업을 수행한다. 각 쓰레드별로 자신만의 스택과 레지스터를 가진다. 또한, 두 개 이상의 쓰레드를 가지는 프로세스를 멀티쓰레드 프로세스(multi..