[java] 스레드의 우선순위와 스케줄링 정책

스레드의 우선순위

자바에서 스레드는 우선순위(priority)라는 속성을 가지고 있습니다. 이 우선순위는 해당 스레드가 얼마나 중요한지를 나타내며, 상대적인 실행 우선순위를 결정하는 데 사용됩니다. 스레드의 우선순위는 1부터 10까지의 숫자로 표현되며, 숫자가 높을수록 더 높은 우선순위를 가집니다.

스레드의 우선순위를 설정하는 메소드는 setPriority(int priority)입니다. 이 메소드를 사용하여 우선순위를 설정할 수 있으며, 우선순위는 Thread.MIN_PRIORITY(1)부터 Thread.MAX_PRIORITY(10)까지의 값을 사용할 수 있습니다.

Thread thread1 = new Thread(() -> {
    // 스레드 1의 작업 내용
});
Thread thread2 = new Thread(() -> {
    // 스레드 2의 작업 내용
});

thread1.setPriority(Thread.MAX_PRIORITY);
thread2.setPriority(Thread.MIN_PRIORITY);

thread1.start();
thread2.start();

스레드의 스케줄링 정책

자바에서는 스레드의 스케줄링 정책을 결정하는 것은 JVM(Ja