운영체제를 공부하다보면 이런 이미지를 봤을 것 이다.
쓰레드의 생명주기이다.
쓰레드는 크게 6개의 상태로 나뉜다.
- NEW : 스레드가 생성된 상태, 아직 start() 되지 않음.
- RUNNABLE : start()가 호출되어 실행 대기, CPU를 점유하기 전의 상태이다. Runnable pool 에 모여있다.
- RUNNING : 실제로 쓰레드가 CPU를 점유하고 실행되고 있는 상태,
- WAITING : 다른 스레드의 통지를 기다림 wait 을 한 상태로, Notify를 기다린다.
- TIMED_WAITING : 주어진 시간동안 기다림
- BLOCK : I/O 요청에 의한 블락
- TERMINATED : 실행마치고 종료, run()이 끝나면 TERMINATED가 실행되며 소멸
'운영체제' 카테고리의 다른 글
커널쓰레드와 유저쓰레드 (0) | 2022.11.29 |
---|---|
운영체제 페이징 기법 (0) | 2022.11.27 |
프로세스와 쓰레드 그리고 Context Switching (0) | 2022.11.26 |