谈谈线程优先级的高低和执行顺序的关系

classtestextendsThread{publictest(Stringstr){super(str);}publicvoidrun(){for(inti=0;i... class test extends Thread
{
public test (String str)
{
super(str);
}
public void run()
{
for(int i=0;i<10;i++){
System.out.println(getName());
}
}
}

public class ThreadTest {
public static void main(String []args)
{
test t1=new test("Thread1");
test t2=new test("Thread2");
test t3=new test("Thread3");
t1.setPriority(2);
t2.setPriority(5);
t3.setPriority(8);
t1.start();
t2.start();
t3.start();
}
}
三个线程优先级不同,但是为何不按照优先级从高到低的顺序执行(输出)?请给出几种不同结果,分析原因。
另外,假如三个线程优先级都相同,运行结果将会和上述情况有何区别?
请给出原因。
展开
 我来答
匿名用户
推荐于2017-11-26
展开全部
如果高优先级的,被堵截了,可能就不按照高低的执行了。如果低优先级的正在执行,高优衫启先级的过来要抢占执行的话,就会出现堵截,低的退不出来,高的还要进去,这是处理机制有可能随机执行,要么还可能出现,两个程序都运行不了。
三个优先级都一样的话就跟好办了,线程分或拦如配实际就是cpu为不同的运行随机分配时间片段,但优先级高的先执行,所以说应该是随衡饥机的。
匿名用户
2013-09-22
展开全部
线程没有优先集,扒哪随机执行。如果你想让他有优春山码先集的话,得在代码中自己控制。线唯贺程本身是随机抢占使用CPU的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式