우선순위
- 자바런타임스케쥴러에 의해 스케쥴링된다.
- 스레드가 수행하는 작업의 중요도에 따라서 스레드의 우선순위를 서로 다르게 지정하여 특정 스레드가 더 많은 작업 시간을 갖도록 할 수 있다.
- 우선순위가 높고 낮음은 상대적인 것이다.
- 우선순위는 스레드를 생성한 스레드로부터 상속받는다.
- 스레드를 실행하기 전에만 우선순위를 변경할 수 있다.
- 자바의 기본 규칙은 '고정 우선순위 스케쥴링'이다.
- 수행가능한 스레드 중(Rannable)에서 또는 모니터 획득을 기다리는 큐내의 스레드 중에서, 가장 우선순위가 높은 것에 코드 수행 기회를 부여해 준다.
- 같은 우선순위의 스레드에 대해서는 RoundRobin 방식으로 선택한다.
- 현재 수행 중인 스레드보다 더 높은 우선순위의 스레드가 수행가능한 상태가 되면 바로 기회를 부여한다. (선점, preemption)
범위 | 사용 |
10 | 위기관리 |
7~9 | 상호작용, 이벤트 처리 |
4~6 | IO 관련 작업 |
2~3 | 백그라운드 작업 |
1 | 기타 다른 작업이 없을 때 실행 |
void setPriority(int newPriority)
int getPriority()
yield();
MAX_PRIORITY = 10
MIN_PRIORITY = 1
NORM_PRIOPRITY = 5
메모리 정리 방법: 실행
- 최적적합: 현재 데이터가 필요한 메모리에 가장 근접한 크기에 할당
- 최초 적합: 현재 데이터가 필요한 메모리에 가장 먼저 적합한 크기에 할당
- 최악 적합: 현재 데이터가 필요한 메모리와는 상관없이 메모리를 할당
실제 개발자가 우선순위를 임이적으로 정하는 경우에 발생하게 되는 버그, 문제점등을 심사숙고하여 사용해야 하며, 자제해야 한다.
'🤓천재교육 풀스택 1기 노트' 카테고리의 다른 글
JSP 기본 (0) | 2023.07.30 |
---|---|
천재교육 풀스택1기 과정 JSP Section1. 서블릿, 자바 웹 기술의 새 지평을 열다. (3) | 2023.07.28 |
천재교육 풀스택 1기 DAY16 (0) | 2023.06.01 |
천재교육 풀스택 과정 1기 Day15 (0) | 2023.05.31 |
천재교육 풀스택 과정 1기 Day13 (0) | 2023.05.26 |