* 스레드가 수행하는 작업의 중요도에 따라 스레드의 우선순위를 서로 다르게 지정하여
특정스레드가 더 많은 작업 시간을 갖도록 할 수 있다.
- 우선순위의 낮고 높음은 상대적인 것이다.
- 우선순위는 스레드를 생성한 스레드로부터 상속받는다.
- 스레드를 실행하기 전에만 우선순위를 변경 할 수 있다.
- 자바의 기본 선택 규칙은 고정 우선순위 스케줄링이다.
- 수행가능한(Runnable)스레드 중(또는 모니터 획득을 기다리는 큐내의 스레드중) 가장
우선순위가 높은것에 코드 수행기회를 부여한다.
- 같은 우선순위의 스레드에 대해서는 라운드 로빈 방식으로 선택한다.
- 현재 수행중인 스레드 보다 높은 우선순위의 스레드가 수행 가능한 상태가 되면
바로 기회를 부여한다.(선점, preemption)
void setPriority(int newPriority y)
int getPriority()
yield();
MAX_PRIORITY = 10
MIN_PRIORITY = 1
NORM_PRIORITY = 5
범위 사용
10 위기관리
7~9 상호작용, 이벤트 처리
4~6 IO 관련작업
2~3 백그라운드 작업
1 기타다른 작업이 없을때 실행
'강좌 > JAVA THREAD' 카테고리의 다른 글
자바 쓰레드(Thread) - 쓰레드그룹(ThreadGroup) 예제 (0) | 2013.04.07 |
---|---|
자바 쓰레드(Thread) - 쓰레드(Thread)의 우선순위(Priority)예제 (0) | 2013.04.07 |
자바 쓰레드(Thread) - 쓰레드(Thread)의 중지 예제 (0) | 2013.04.06 |
자바 쓰레드(Thread) - 쓰레드(Thread)의 중지 (0) | 2013.04.06 |
자바 쓰레드(Thread) - start()와 run()에 대한 예제 (0) | 2013.04.06 |