ThreadGroup
類的setMaxPriority()
方法用於設定組的最大優先順序。
語法
public final void setMaxPriority(int pri)
引數
pri
:這是執行緒組的新優先順序。範例
class NewThread extends Thread
{
NewThread(String threadname, ThreadGroup tgob)
{
super(tgob, threadname);
}
public void run()
{
for (int i = 0; i < 10; i++)
{
try
{
Thread.sleep(10);
}
catch (InterruptedException ex) {
System.out.println("Thread " + Thread.currentThread().getName() + " interrupted"); }
}
System.out.println(Thread.currentThread().getName() + " [priority = " +
Thread.currentThread().getPriority() + "]");
System.out.println(Thread.currentThread().getName()+" finished execution");
}
}
public class ThreadGroupSetPriorityExp
{
public static void main(String arg[]) throws InterruptedException,
SecurityException, Exception
{
// creating the thread group
ThreadGroup tg1 = new ThreadGroup("Parent threadGroup");
ThreadGroup tg2 = new ThreadGroup(tg1, "child threadGroup");
tg1.setMaxPriority(Thread.MAX_PRIORITY-3);
tg2.setMaxPriority(Thread.MIN_PRIORITY);
// creating a thread
NewThread t1 = new NewThread("Thread-1", tg1);
t1.setPriority(Thread.MAX_PRIORITY);
System.out.println(t1.getName() + " starts");
t1.start();
// creating another thread
NewThread t2 = new NewThread("Thread-2", tg2);
t2.setPriority(Thread.MAX_PRIORITY);
System.out.println(t2.getName() + " starts");
t2.start();
}
}
執行上面範例程式碼,得到以下結果:
Thread-1 starts
Thread-2 starts
Thread-1 [priority = 7]
Thread-2 [priority = 1]
Thread-2 finished execution
Thread-1 finished execution