问题: 已经设置了 线程的优先级, 但输出结果为什么是这样, 是因为 电脑 是 双核的吗?class SETPriority implements Runnable{
public void run(){
for(int count = 0; count < 10; count++)
System.out.println( Thread.currentThread().getName() + count);
}
}
public class SetPriorityDemo{
public static void main(String[] args){
Thread maxPro = new Thread(new SETPriority(), "MAX...");
Thread minPro = new Thread(new SETPriority(), "min...");
maxPro.setPriority(10); //设置优先级 为 10
minPro.setPriority(1); //设置优先级 为 1
maxPro.start();
minPro.start();
System.out.println("........END"); //main 线程的优先级 为 普通, 相当于 5
}
}下面列举 几种 输出结果 ----------------------------分割线----------------------------------------------------------------分割线------------------------------------
3 回答
慕标2337738
TA贡献23条经验 获得超13个赞
package practice; class SETPriority implements Runnable{ public void run(){ synchronized ("") { for(int count = 0; count < 10; count++) System.out.println( Thread.currentThread().getName() + count); } } } public class SetPriorityDemo{ public static void main(String[] args){ Thread maxPro = new Thread(new SETPriority(), "MAX..."); Thread minPro = new Thread(new SETPriority(), "min..."); maxPro.setPriority(10); //设置优先级 为 10 minPro.setPriority(1); //设置优先级 为 1 maxPro.start(); minPro.start(); System.out.println("........END"); //main 线程的优先级 为 普通, 相当于 5 } }
加锁,线程不安全。
甫艾蒽廷
TA贡献38条经验 获得超21个赞
每个类都有自己的优先级,一般property用1-10的整数表示,默认优先级是5,优先级最高是10;优先级高的线程并不一定比优先级低的线程执行的机会高,只是执行的机率高;默认一个线程的优先级和创建他的线程优先级相同;
添加回答
举报
0/150
提交
取消