线程优先级,设置,setPriority()方法

By | 2019年12月18日

package seday08.thread;
/**
* @author xingsir
* 线程优先级
* 线程启动后纳入到线程调度,线程时刻处于被动获取CPU时间片而无法主动获取。我们可以通过调整线程的优先级来最大程度的干涉线程调度分配时间片的几率。
* 理论上优先级越高的线程获取CPU时间片的次数越多。
* 调用线程的方法:setPriority()方法来设置优先级。
* 线程优先级有10个等级,分别用整数1-10表示。其中1位最低优先级,10为最高优先级,5为默认值。
*/
public class PriorityDemo {

public static void main(String[] args) {
//创建线程max最大
Thread max=new Thread() {
public void run() {
for(int i=0;i<100;i++) {
System.out.println("max");
}
}
};
//创建线程min最小
Thread min = new Thread() {
public void run() {
for(int i=0;i<100;i++) {
System.out.println("min");
}
}
};
//创建线程norm默认
Thread norm = new Thread() {
public void run() {
for(int i=0;i<100;i++) {
System.out.println("norm");
}
}
};

max.setPriority(Thread.MAX_PRIORITY);//将线程max设置为最大值10
min.setPriority(Thread.MIN_PRIORITY);//将线程min设置为最小大值1
/*
* 数据跑出来正常max最优执行完毕,min最慢执行完毕
*/
min.start();//调用
norm.start();//调用
max.start();//调用

}

}

请关注公众号获取更多资料

发表评论