라이프 사이클에서 Java 스레드는 다섯 개 가지 상태로 나눌 수 있습니다.

http://www.manongjc.com/java_example/thread_status.html

  • 새로운 상태 (신규) 만들기 : 1. 새 스레드 개체를 만듭니다.
  • 2. 준비 상태 (Runnable를가) : 스레드 객체를 만든 후, 다른 thread가 객체의 start () 메서드를 호출합니다. 풀에서 실행 가능한 스레드가있는 스레드의 상태는 CPU를 사용할 수있는 권리의 취득을 대기하고, 실행 가능한되고있다.
  • (실행) 3. 실행 상태 : 스레드의 준비 상태가 CPU를 얻는다는 프로그램 코드를 실행합니다.
  • 4. (차단) 차단 된 : 스레드가 일시적으로 실행 중지 사용 CPU에 대한 권리를 포기하는 어떤 이유로 차단됩니다. 준비 상태로 스레드까지 기회가 실행 이동합니다. 세 가지 범주의 폐쇄 케이스 :
    • (A), 차단을 기다리고 : 실행 대기 스레드 실행 () 메소드, JVM은 대기 풀에 스레드됩니다.
    • (2 개)의 동기 차단 : 동기 로크가 다른 스레드에 의해 점유되는 경우, 동기 로크 대상의 취득시에 실행하는 스레드는 상기 JVM 스레드 풀에 고정된다.
    • (C) 기타 차단 : 수면 실행 스레드 () 또는 조인 () 방법, 또는, JVM 스레드가 차단 설정 될 I / O 요청을 발행. 수면 () 시간 제한은 가입 () 또는 스레드에 대한 제한 시간 대기는 종료, 또는 I / O를 처리, 준비 상태로 스레드가 다시 완료됩니다.
  • 5. 사망 상태 (죽은) : 스레드 실행이 끝나거나 인한 비정상 종료 실행 () 메소드, 수명주기의 스레드 끝.

추천

출처www.cnblogs.com/Andrew520/p/12097577.html