[Java] 멀티 스레드 _ 스레드 상태

개발하기 좋은날·2023년 12월 30일

자바 스터디

목록 보기
5/6

스레드 상태

1. 스레드 객체 생성(NEW)

  • 아직 시작되지 않은 상태
  • 스레드 객체를 생성하고 start() 메소드를 호출한다고 해서 바로 스레드가 실행되는 것이 아닌 "실행 대기 상태(RUNNABLE)"가 됨

2. 실행 대기(RUNNABLE)

  • 실행 가능한 스레드의 상태
  • CPU 스케줄링에 따라 CPU를 점유하고 run() 메소드를 실행(실행 상태로 상태 변경)

3. 실행(RUNNING)

  • 실행 스레드는 run() 메소드를 모두 실행하기 전에 스케줄링에 의해 다시 "실행 대기 상태"로 돌아갈 수 있음.

4. 일시정지

  • 스레드가 실행할 수 없는 상태
  • 다시 실행하기 위해서는 "실행 대기 상태"가 되어야 함

일시정지 상태로 가거나 벗어나기 위한 메소드들

5. 종료(TERMINATED)

  • run() 메소드가 종료되고 더 이상 실행할 코드가 없어 스레드의 실행이 멈춘 상태
profile
말보단 행동으로

0개의 댓글