public class SellTicketsTester {
public static void main(String[] args) {
// TODO 自动生成的方法存根
TestThread[] runners=new TestThread[2];
for(int i=0;i<2;i++){
runners[i]=new TestThread(i);
}
runners[0].setPriority(2);
runners[1].setPriority(3);
runners[0].start();
runners[1].start();
}
}
class TestThread extends Thread{
private int tick=1;
private int num;
public TestThread(int i){
this.num=i;
}
public void run(){
while(tick<400000){
tick++;
if((tick%50000)==0){
System.out.println("Thread #"+num+",tick="+tick);
yield();
}
}
}
}
////课本上显示的结果是 线程1完全执行完了,才轮到线程2执行。怎么照搬的代码 到了我这里就不分先后了。2个线程轮流输出啊??
设置了线程优先级怎么没起作用
答案:2 悬赏:10 手机版
解决时间 2021-02-01 02:31
- 提问者网友:愿为果
- 2021-01-31 12:56
最佳答案
- 五星知识达人网友:几近狂妄
- 2021-01-31 13:18
跟cpu也有关系,你那本书写的时候还用的单核的cpu
全部回答
- 1楼网友:鸽屿
- 2021-01-31 13:38
优先级越高的线程被线程调度器调用的几率就越高
不过线程优先级这个东西不是太可靠 如果2个线程的优先级差太多的话比如一个1 一个10 那么那个优先级是1的线程可能永远都不会被调用
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯