void setPriority(imt newPriority) //쓰레드의 우선순위를 지정한 값으로 변경한다.
int getPriority() //쓰레드의 우선순위를 반환한다.
public static final int MAX_PRIORITY=10 // 최대 우선순위
public static final int MIN_PRIORITY=1 // 최소 우선순위
public static final int NORM_PRIORITY=5 // 보통 우선순위
예제)
class ThreadPriorityTest{
public static void main (String args[])
{
Thread1 th1 = new Thread1();
Thread2 th2 = new Thread2();
th1.setPriority(5);
//default 값이 5임 따라서 주석처리 하여도 결과는 같다.
th2.setPriority(7);
System.out.pruntln("Priority of th1(-) : " + th1.getPriority());
System.out.pruntln("Priority of th2(\) : " + th2.getPriority());
th1.start();
th2.start();
}
}
class ThreadTest1 extends Thread{
public void run(){
for(int i=0; i<300; i++)
{
System.out.println("-");
for(int x=0; x<10000000; x++); //시간지연용
}
}
}
class ThreadTest2 extends Thread{
public void run(){
for(int i=0; i<300; i++)
{
System.out.println("\");
for(int x=0; x<10000000; x++); //시간지연용
}
}
}
실행결과
Priority of th1(-) : 5
Priority of th2(\) : 7
// "-", "\"의 출력결과는 실행할 때 마다 다르다.
실행 처리가 시급한 것부터 우선순위를 높게 부여하는 것이 좋다.
윈도우의 경우 마우스의 우선순위가 매우 높게 처리되어 있음.
Thread(ThreadGroup group, String name)
Thread(ThreadGroup group, Runnable target)
Thread(ThreadGroup group, Runnable target, Strung name)
Thread(TjreadGroup group, Runnable target, String name, long stackSize)
ThreadGroup getThreadGroup()
//쓰레드 자신이 속한 쓰레드 그룹을 반환한다.
void uncaughtException(Thread t, Throwable e)
//처리되지 않은 예외에 의해 쓰레드 그룹의 쓰레드가 실행이 종료되었을 때,
//JVM에 의해 메서드가 자동적으로 호출된다.