[java] 쓰레드 풀에서 작업 우선순위 설정
Java에서 쓰레드 풀을 사용하여 작업을 처리할 때, 각 작업의 우선순위를 설정할 수 있습니다. 우선순위를 높게 설정한 작업은 더 높은 우선순위로 실행될 가능성이 더 높습니다.
쓰레드 풀에서 우선순위 설정하기
import java.util.concurrent.*;
public class ThreadPoolExample {
public static void main(String[] args) {
ThreadPoolExecutor threadPool = (ThreadPoolExecutor) Executors.newFixedThreadPool(2);
threadPool.execute(() -> {
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
System.out.println("작업 1 실행");
});
threadPool.execute(() -> {
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
System.out.println("작업 2 실행");
});
threadPool.shutdown();
}
}
위의 예시에서는 ThreadPoolExecutor
를 사용하여 쓰레드 풀을 생성하고, 두 개의 작업을 실행합니다. 각 작업에서 Thread.currentThread().setPriority()
를 사용하여 우선순위를 설정할 수 있습니다.
주의사항
쓰레드 우선순위를 설정하는 것은 플랫폼 의존적이며, 완전한 제어를 보장하지는 않습니다. 따라서 우선순위를 과도하게 의존하지 않도록 주의해야 합니다.
쓰레드 풀에서 작업 우선순위를 설정하는 방법에 대해 더 알고 싶다면 Java 공식 문서를 참고하세요.