[java] 자바에서 스레드 우선순위를 지정하는 방법은?
자바에서는 스레드의 우선순위를 지정할 수 있습니다. 스레드 우선순위는 해당 스레드가 실행되는 우선순위를 나타내며, 높은 우선순위를 가진 스레드는 동시에 실행되는 다른 스레드보다 우선적으로 처리됩니다.
스레드의 우선순위는 Thread 클래스의 setPriority() 메소드를 사용하여 지정할 수 있습니다. 이 메소드는 스레드의 우선순위를 지정하는 매개변수를 받습니다. 우선순위는 1부터 10까지의 범위로 지정할 수 있으며, 10이 가장 높은 우선순위입니다. 스레드에 지정하지 않으면 기본적으로 중간의 우선순위인 5로 지정됩니다.
아래는 스레드 우선순위를 지정하는 예시 코드입니다.
public class Main {
public static void main(String[] args) {
// 스레드 생성
Thread thread1 = new Thread(new MyRunnable());
Thread thread2 = new Thread(new MyRunnable());
// 스레드 우선순위 지정
thread1.setPriority(Thread.MIN_PRIORITY); // 스레드1 우선순위를 가장 낮게 설정
thread2.setPriority(Thread.MAX_PRIORITY); // 스레드2 우선순위를 가장 높게 설정
// 스레드 실행
thread1.start();
thread2.start();
}
}
class MyRunnable implements Runnable {
@Override
public void run() {
// 스레드 로직 작성
}
}
위 예제에서는 Thread 클래스의 setPriority() 메소드를 사용하여 thread1과 thread2의 우선순위를 설정하고, start() 메소드를 호출하여 스레드를 실행합니다. 이렇게 설정된 우선순위에 따라 각 스레드는 실행되며, 우선순위가 높은 스레드는 우선적으로 처리됩니다.
참고 자료: