Java에서 스레드에는 New, Runable, Running, Blocked 및 Dead의 5가지 상태가 있습니다. 이들 사이의 변환 다이어그램은 다음과 같습니다.
위 그림에는 예외가 있습니다. 항복() 메서드를 호출하면 현재 실행 중인 스레드가 준비 상태로 전환될 수 있습니다. 스레드가 종료되었는지 여부를 테스트하려면 스레드가 준비, 실행 또는 차단되면 true를 반환하고 스레드가 생성되거나 종료되면 false를 반환하는 isAlive() 메서드를 사용할 수 있습니다. start() 메소드를 호출하여 죽은 스레드를 다시 시작하려고 하지 마십시오. 죽음은 죽음을 의미하므로 인간과 마찬가지로 재생성이 불가능합니다. 또한 스레드에서 start() 메서드를 두 번 호출하지 마십시오. 이렇게 하면 예외가 발생할 수도 있습니다.