앱 만들기/안드로이드

쓰레드 우선 순위 설정하기.

나도 처음이야 2020. 5. 6.

 

스레드는 동시에 여러 작업을 할 수는 있지만

실행 순서를 개발자 가 지정할 수 없음을 확인했다.

하지만, 스레드에 우선순위를 주어 순위가 높은 스레드를 먼저 처리할 수 있게끔 할 수 있다.

 

하기 예제를 보자.

 

1. 쓰레드 우선순위는 1~10 까지의 값을 가지며, 설정하지 않았을때는 기본 5이다.

 public class PriorityTest {

 

      public static void main(String[] args) {

            // TODO Auto-generated method stub

 

            Thread1 t1 = new Thread1();

            Thread2 t2 = new Thread2();

           

            // 쓰레드 우선 순위를 두지 않으면 기본 5.

            System.out.println(t1.getPriority());

            System.out.println(t2.getPriority());

           

          // 쓰레드 우선 순위 설정하기.

            t1.setPriority(1);

            t2.setPriority(10);

            t1.start();

            t2.start();

      }

 

}

 

class Thread1 extends Thread{

      public void run() {

            for(int i=0; i < 100 ; i++) {

                 

                  System.out.println("*");

            }

      }

}

 

class Thread2 extends Thread{

      public void run() {

            for(int i=0; i < 100 ; i++) {

                 

                  System.out.println("_");

            }

      }

}     }

}

 

2. 쓰레드 우선 순위를 높게 한다고 해서, 항상 높은 순위의 쓰레드가 계속 실행 된다는 보장은 없다.

  실행 결과를 보자.

5
5
_
_
_
_
_
_
_
_
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
_
_
_
_
_
_
_
_
_
_
_
_
_

 

자바에서는 하나의 프로세스 내에서 여러작업을 병행하기 위해선 쓰레드를 활용한다.

이는 안드로이드에서도 동일하다.

오늘도 티스토리를 찾아주셔서 고맙습니다.

 

반응형

댓글