请问关于线程优先级的有关问题

请教关于线程优先级的问题
//请问执行结果为什么不是先执行优先级最高的,而是随机执行,好像没设优先级似地
public class ThreadTest
{
  public static void main( String args [] ) 
  {
     Thread t1 = new MyThread("T1");
     t1.setPriority( Thread.MIN_PRIORITY ); //设置优先级为最小
     t1.start( );    
     Thread t2 = new MyThread("T2");
     t2.setPriority( Thread.MAX_PRIORITY ); //设置优先级为最大
     t2.start( );   
     Thread t3 = new MyThread("T3");
     t3.setPriority( Thread.MAX_PRIORITY ); //设置优先级为最大
     t3.start( );
  }
}
class MyThread extends Thread {
  String message;
  MyThread ( String message ) 
  { this.message = message;}
  public void run()
  {
      for ( int i=0; i<3; i++ )
          System.out.println( message+":第"+(i+1)+"次,优先级="+getPriority() ); //获得优先级
  }
}

结果如下:
T1:第1次,优先级=1
T3:第1次,优先级=10
T2:第1次,优先级=10
T3:第2次,优先级=10
T1:第2次,优先级=1
T3:第3次,优先级=10
T2:第2次,优先级=10
T2:第3次,优先级=10
T1:第3次,优先级=1
------最佳解决方案--------------------
循环次数才少了。。。。很难看出效果来的。。。


把循环次数尽量放大,然后看谁先循环完毕。


另外,优先级没有决定性作用,是相对而言的,且也存在调度上的概率问题,所以要大量线程和长时间运行才能体现效果。
------其他解决方案--------------------
真的耶,太厉害了