스레드란 프로세스 내에 독립된 실행 흐름을 의미한다. 독립적으로 움직이기 때문에 독자적인 PC와 레지스터를 가지고 있다. 스레드는 프로세스 주소 공간을 공유한다. 같은 데이터를 공유하고 사용함으로써 Concurrency 문제가 발생할 수 있다.스레드에 대해 예를 들어 설명해 보겠다.상하차로 비유해 보겠다.화물차를 프로세스로 보고 사람을 스레드로 보자.화물차(프로세스) 안에는 여러 가지 물건(DATA)이 있다(주소 공간 공유). 화물차 안에서 사람(스레드)이 움직인다. 확실히 사람이 많으면 일이 빨리 끝날 거 같다.근데 사람이 너무 많으면 같은 물건을 집게 되는 문제가 발생할 수 있다(공간을 공유하기 때문에 발생!).우리는 사람이니까 같은 물건을 안 집으려고 생각하고 물건을 선택하지만 프로그램은 그렇지 않..