스레드 상태
- New :
- 스레드가 생성되고 아직 시작되지 않은 상태
- Thread 객체가 생성되었지만, start 메서드가 호출되지 않은 상태
- Runnable :
- 스레드가 실행 중이거나 실행될 준비가 된 상태
- start 메서드가 호출됐을때 상태
- 운영체제 스케줄러의 실행 대기열에 포함 되어 있다가 차례로 CPU에 실행된다.
- Blocked :
- Waiting
- 스레드가 다른 스레드의 특정 작업이 완료되기를 무기한 기다리는 상태
- wait(), join() 메서드 호출될 때
- Timed Waiting
- 스레드가 특정 시간 동안 다른 스레드의 작업이 완료되기를 기다리는 상태
- 주어진 시간이 경과하거나 다른 스레드가 해당 스레드를 깨우면 상태에서 벗어난다.
- Terminated
- 스레드의 실행이 완료된 상태
- 스레드가 정상적으로 종료되거나 예외가 발생하여 종료된 경우