[Java] 스레드(Thread) 우선순위 - (MIN, NORM, MAX)_PRIORITY
2022. 2. 27. 18:57ㆍBack-end/Java
자바 Thread 클래스에는 스레드의 우선순위를 정할 수 있는 메서드가 있다.
- Thread.MIN_PRIORITY(=1) ~ Thread.MAX_PRIORITY(=10)
- 디폴트 우선순위 : Thread.NORM_PRIORITY(=5)
- 우선순위가 높아진다고 무조건 높아지는 것이 아니라 높아질 확률이 올라가는 것이다
- setPriority() / getPriority()
Thread 우선순위 예제
class PriorityThread extends Thread {
public void run() {
Thread t = Thread.currentThread();
System.out.println(t + "start");
System.out.println(t.getPriority() + "end");
}
}
public class PriorityTest {
public static void main(String[] args) {
PriorityThread pt1 = new PriorityThread();
PriorityThread pt2 = new PriorityThread();
PriorityThread pt3 = new PriorityThread();
pt1.setPriority(Thread.MIN_PRIORITY);
pt2.setPriority(Thread.NORM_PRIORITY);
pt3.setPriority(Thread.MAX_PRIORITY);
pt1.start();
pt2.start();
pt3.start();
}
}
우선순위는 확률적이기 때문에 실행 결과가 매번 다르다.
반응형
'Back-end > Java' 카테고리의 다른 글
[Java] 멀티 스레드 동기화(multi-threaded synchronization) (0) | 2022.02.27 |
---|---|
[Java] 스레드(Thread) 종료하기 예제 (0) | 2022.02.27 |
[Java] 스레드(Thread) 개념 정리 - sleep(), wait(), join() (0) | 2022.02.27 |
[Java] 자바에서 예외(Exception) 처리를 하는 이유 (0) | 2022.02.26 |
[Java] 스트림(Stream) 활용 예제 (0) | 2022.02.26 |