黑马程序员技术交流社区

标题: 关于在多线程里优先级的一些问题 [打印本页]

作者: didixyy    时间: 2015-10-9 17:07
标题: 关于在多线程里优先级的一些问题
  1. public class YieldTest extends Thread {
  2.         YieldTest(String name)
  3.         {
  4.                 super(name);
  5.         }
  6.         public void run()
  7.         {
  8.                 for(int i=0;i<50;i++)
  9.                 {
  10.                         System.out.println(getName()+"     "+i);
  11.                         if(i==20)
  12.                         {
  13.                                 Thread.yield();
  14.                         }
  15.                 }
  16.         }
  17. public static void main(String[] args) {
  18.         YieldTest yt1=new YieldTest("最高级");
  19.         yt1.setPriority(Thread.MAX_PRIORITY);
  20.         yt1.start();

  21.        
  22.        
  23.         YieldTest yt2=new YieldTest("最低级");
  24.         yt2.setPriority(Thread.MIN_PRIORITY);
  25.         yt2.start();
  26. }
  27. }
复制代码

设置了优先级之后使用yield,yield方法只能让同优先级的线程有执行的机会。按理说程序应该是会先执行线程1,然后执行到20,暂停然后判断一下时候有相同优先级的线程,如果没有应该继续执行线程1,但是现在的执行效果和没加优先级是一样的,请问是问什么呢?
作者: didixyy    时间: 2015-10-9 17:26
没有人知道么?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2