프로세스와 쓰레드 프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위, 실행 중인 프로그램을 의미 쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위, 프로세스내에서 일하는 일꾼(코드실행의 흐름) OS가 프로그램 실행을 위한 프로세스를 할당해줄때 프로세스안에 프로그램 Code와 Data 그리고 메모리 영역(Stack, Heap)을 함께 할당해준다. 프로세스가 작업중인 프로그램에서 실행요청이 들어오면 쓰레드(일꾼)을 만들어 명령을 처리하도록 한다. 프로세스 안에는 여러 쓰레드(일꾼)들이 있고, 쓰레드들은 실행을 위한 프로세스 내 주소공간이나 메모리공간(Heap)을 공유받는다. 추가로, 쓰레드(일꾼)들은 각각 명령처리를 위한 자신만의 메모리공간(Stack)도 할당받는다. Java는 이와 같이 JV..