Thread类代表了Java线程类,多个线程在排队队列等待执行时机会是相等的,Thead类提供了setPriority(int priority)方法来设置线程对象的优先级,参数是1-10之间的整数,如果超过这个范围则抛出非法参数异常:IllegalArgumentException。
Thread类提供了三个常量:
pubic static final int MAX_PRIORITY=10; 代表最高优先级
pubic static final int Thread.MIN_PRIORITY=1 代表最低优先级
pubic static final int Thread.NORM_PRIORITY=5默认优先级
Thread类对象的默认线程的优先是5。
示例代码:
class MyThread extends Thread{ private String str; private int count; public MyThread(String str,int count){ this.str=str; this.count=count; } @Override public void run() { for(int i=0;i<count;i++) System.out.println(str); } } public class Demo1 { public static void main(String[] args) { Thread t1=new MyThread("AAAAAAA",100); Thread t2=new MyThread("BBBBBBB",100); t1.setPriority(10); t2.setPriority(1); t1.start(); t2.start(); } } |
观察运行结果可以发现t1线程优先线t2结束。