[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 공식 문서를 참고하세요.