스레드 객체를 생성하고, start() 메소드를 호출하면 곧바로 스레드가 실행되는 것처럼 보이지만 사실은 실행 대기 상태가 된다. 실행 대기 상태란 아직 스케줄링이 되지 않아서 실행을 기다리고 있는 상태를 말한다. 실행 대기 상태에 있는 스레드 중에서 스레드 스케줄링으로 선택된 스레드가 비로서 CPU를 점유하고 run() 메소드를 모두 실행하기 전에 스레드 스케줄링에 의해 다시 실행 대기 상태로 돌아갈수 있다 그리고 실행 대기 상태에 있는 다른 스레드가 선택되어 실행 상태가 된다 이렇게 스레드는 실행 대기 상태와 실행 상태를 번갈아가면서 자신으 run() 메소드를 조금씩 실행 한다. 실행 상태에서 run() 메소드가 종료 되면, 더 이상 실행할 코드가 없기 때문에 스레드의 실행은 멈추게 된다 이를 종료 ..