public class Priorty { static class MyThread extends Thread{
private int ID=0;
public MyThread(int id){
this.ID=id;
}
public void run(){
System.out.println("MyThread-"+this.ID+" begin! Priorty: "+this.getPriority());
System.out.println("MyThread-"+this.ID+" end");
}
}
public static void main(String []args){
MyThread[] myThreads=new MyThread[3];
for(int i=0;i<3;i++){
myThreads[i]=new MyThread(i+1);
myThreads[i].setPriority(i*3+1);
}
for(int i=0;i<3;i++){
myThreads[i].start();
}
}
}启动3个线程,分别将优先级设为1,4,7.目的是先调用按优先级的高低输出,但是虚拟机的输出结果是随机的,请问用什么方法,能按规定优先级的高低调用?//运行结果:
MyThread-2 begin! Priorty: 4
MyThread-3 begin! Priorty: 7
MyThread-1 begin! Priorty: 1
MyThread-2 end
MyThread-3 end
MyThread-1 end
//--------------
MyThread-1 begin! Priorty: 1
MyThread-2 begin! Priorty: 4
MyThread-1 end
MyThread-3 begin! Priorty: 7
MyThread-3 end
MyThread-2 end
//--------------
MyThread-1 begin! Priorty: 1
MyThread-1 end
MyThread-3 begin! Priorty: 7
MyThread-3 end
MyThread-2 begin! Priorty: 4
MyThread-2 end
//--------------
MyThread-3 begin! Priorty: 7
MyThread-3 end
MyThread-2 begin! Priorty: 4
MyThread-2 end
MyThread-1 begin! Priorty: 1
MyThread-1 end
解决方案 »
- java 中要将字符串20090128012650转换为2009-01-28 01:26:50 如何做,请各位大虾帮忙。
- 一个java正则表达式的问题,懂的请进
- ObjectOutputStream的writeObject是不是同步的?
- jbuilder图形化页面的使用
- 大家来帮忙看看这个程序,谢谢,100分,在线!!!
- JCreator Pro怎么编译一个项目呢?
- 上传一个指定的文件, 请大家近来看看。 问题能解决, 由发表的都给分!!
- 百思不得其解,请教各位大侠
- 书上的简单例子却javac不过,请高手指点
- 我在JBUILDER4中作的APPLET,离开IDE环境在IE中不能启动,为什么?
- 添加代码
- 读取excel时出现异常
myThreads[i].start();
Tread.sleep(10);
}每次启动一个线程后,当前线程休眠10毫秒,以确保它已经开始。
如果你是给我个建议我谢谢你,但是如果在对方有疑问的时候用这种方式回答你觉得合适吗?
最起码要尊重发帖人,来CSDN的都是为了学习,碰到问题了,向大伙请教一下,一起解决,或许也是你不会或者是你没遇到的问题。
如果你要是把所有计算机的书都看完并且精通了那你来CSDN有什么意义?难道就是为了让别人看你打那几个破字?
-----------------------做人厚道些好!!!
以上个人观点,仅对此人回答强烈不满!
在JVM的调度算法中也是如此.
只是这段代码运行太快了,根本就不是同一时刻的,前一个线程早运行完了~
加了Thread.sleep()也没用
MyThread-3 end
MyThread-2 begin! Priorty: 4
MyThread-2 end
MyThread-1 begin! Priorty: 1
MyThread-1 end
我的CP上每次运行都是这个..........
后面的一直等待,这样不好吧。11楼估计是cpu太差了