** 두개 이상의 Thread를 가동시키면 가능하면 공평하게 실행이 되게끔 스케쥴링 된다.
그런데 만약 특정객체가 먼저 일이 끝날 수 있도록 요구된다면 쓰레드의 우선순위를 설정.
반드시 그것이 먼저 끝나는 것을 보장하지 않는다.
** 쓰레드의 우선순위를 설정하는 메소드
setPriority(정수값)
정수값의 범위 : 1 ~ 10
** 우선순위 주는 예제
// 우선순위 주기
class Person extends Thread{
private String name;
public Person(String name){
this.name = name;
}
public void run(){
for (int i = 1; i <= 10 ; i++ ){
System.out.println("Hello, " + name);
// 딜레이되는 시간 일부러 주려고 함
try{
Thread.sleep(100);
} catch(Exception e){
}
}
}
}
class PersonTest03{
public static void main(String[] args) {
Person p1 = new Person("송인욱");
Person p2 = new Person("최영록");
Person p3 = new Person("이학균");
p3.setPriority(10);
p2.setPriority(Thread.MAX_PRIORITY);
p1.setPriority(Thread.MIN_PRIORITY);
p1.start();
p2.start();
p3.start();
// System.out.println("최고 우선순위 : " + Thread.MAX_PRIORITY); //10
// System.out.println("최저 우선순위 : " + Thread.MIN_PRIORITY); // 1
}
}
'JAVA > JAVA' 카테고리의 다른 글
자바 Thread 가 필요한 이유 (0) | 2016.06.12 |
---|---|
자바 예제 - join() 메소드 (0) | 2016.06.12 |
자바 예제 - 멀티쓰레드 프로그래밍 방법 (0) | 2016.06.12 |
자바 개념 - 멀티 쓰레드(Thread) 프로그래밍 설명 및 간단한 예제 (0) | 2016.06.12 |
자바 개념 - 예외처리 (0) | 2016.06.12 |