Thread Status
스레드를 만들고 시작시키는 것보다 스레드를 제어하는 것이 더 중요하다.
스레드를 제대로 제어하려면 먼저 스레드의 상태부터 알아야 한다.
♣ 스레드의 상태
스레드를 만들고 시작시키는 것보다 스레드를 제어하는 것이 더 중요하다.
스레드를 제대로 제어하려면 먼저 스레드의 상태부터 알아야 한다.
♣ 스레드의 상태
- 시작 상태(Start 상태)
제일 먼저 스레드를 만든 후 start()를 호출했을 때 Start 상태가 된다.
그리고 바로 Runnable 상태로 진입한다.
- 동작할 수 있는 상태(Runnable 상태)
스레드가 실행되면 일반적으로 Runnable 상태가 된다.
Runnable 상태의 스레드는 여러 개 존재할 수 있다.
Runnable 상태에 있는 스레드들끼리 번갈아 가면서 Run 상태가 된다.
- 동작 상태(Run 상태)
한순간에 단 하나의 스레드만이 Run 상태가 된다.
Runnable 상태에서 CPU의 제어권을 할당받는 순간 Run 상태가 된다.
작업을 마치면 Runnable 상태로 돌아와서 다음 순서를 기다린다.
Run 상태가 될 때 스레드는 작업을 진행할 수 있다.
- 대기 상태(NotRunnable 상태)
NotRunnable 상태는 Run 상태로 진입할 수 없지만 Dead 상태는 아닌 대기 상태이다.
(sleep(), wait(), notify() 메소드들을 사용하여 제어)
- 종료 상태(Dead 상태)
모든 작업을 완료하면 Dead 상태가 되고, 스레드는 자동으로 소멸하게 된다.
run() 메소드의 종료는 스레드의 종료를 의미한다.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,