JAVA

[Java] Priority Thread

lakelight 2022. 7. 29. 13:59
728x90
반응형
각각의 쓰레드의 우선순위를 정해서 실행시킬 수 있습니다.

 

package Java.thread;

//쓰레드 우선순위를 설정해주는 예제
class PriorityThread extends Thread{

    @Override
    public void run(){
        int sum = 0;

        //쓰레드 작업 시작
        Thread thread = Thread.currentThread();
        System.out.println(thread + " start !!");

        //0~100_000까지 더하기
        for (int i = 0; i < 100_000; i++) {
            sum += i;
        }

        //쓰레드 작업 종료
        System.out.println(thread.getPriority() + " end !!");
    }

}

public class PriorityThreadTest {
    public static void main(String[] args) {

        PriorityThread thMin = new PriorityThread();
        PriorityThread thNor = new PriorityThread();
        PriorityThread thMax = new PriorityThread();

        //쓰레드의 우선순위를 설정해준다.
        thMin.setPriority(Thread.MIN_PRIORITY);
        thNor.setPriority(Thread.NORM_PRIORITY);
        thMax.setPriority(Thread.MAX_PRIORITY);

        //쓰레드 우선순위가 낮은 것부터 높은 순으로 시작
        thMin.start();
        thNor.start();
        thMax.start();

        //결과
        /**
         * Thread[Thread-1,5,main] start !!
         * Thread[Thread-0,1,main] start !!
         * Thread[Thread-2,10,main] start !!
         * 10 end !!
         * 1 end !!
         * 5 end !!
         */
    }
}

 

쓰레드의 우선순위를 설정해주어 중요한 작업에 대해
다른 쓰레드보다 빨리 끝날 수 있도록 설정해보았습니다.

 

728x90
반응형

'JAVA' 카테고리의 다른 글

[Java] Thread Synchronization  (0) 2022.07.29
[Java] Thread Method : join()  (0) 2022.07.29
[Java] Thread  (0) 2022.07.29
[Java] Decorator Pattern  (0) 2022.07.28
[Java] Template Method Pattern  (0) 2022.07.28