스레드의 상태
스레드는 크게 생성직후(Unstarted), 실행가능(Runnable), 대기(Suspended), 종료(Stopped) 4가지 상태로 나눌 수 있다.
1.생성직후(Unstarted) 상태
스레드가 막 생성된 상태로 이상태에서 스레드의 Start() 메소드가 호출되면 실행가능 상태가 되고, 해당 스레드의 메소드가 종료되면 바로 종료상태가 된다.
2. 실행가능(Runnable) 상태
실행가능 상태의 스레드들은 큐에 저장한 후 CLR(공용 언어 런타임)에서 관리한다. CPU는 한번에 하나의 스레드만을 실행 할 수 있기 때문에 하나의 스레드만 실행되고, 나머지 스레드 들은 대기하고 있다. 이 2가지 경우의 스레드를 모두를 실행가능 상태라고 말한다.
3. 대기(Suspended) 상태
실행중인 스레드를 Suspend()메소드나 Sleep()메소드를 통해 일시정지하게 되면 스레드는 그 순간 대기상태가 된다.
즉, 실행가능 상태의 큐에서 나와 대기상태의 큐로 옮기게 된다.
4. 종료상태(Stopped) 상태
스레드가 모두 마치거나 Abort()와 같은 강제종료 메소드를 수행하면 종료상태로 변경된다.
반응형
'Programming > C#' 카테고리의 다른 글
[C#] 연산자 재정의 (0) | 2024.09.28 |
---|---|
[C#] Thread(3) 스레드 동기화 (1) | 2024.09.28 |
[C#] Thread(1) 스레드의 개념 (1) | 2024.09.28 |
[C#] event (1) | 2024.09.28 |
[C#] Types (0) | 2024.09.28 |