当前位置: 代码迷 >> J2SE >> 多线程里,线程执行的先后次序有关问题
  详细解决方案

多线程里,线程执行的先后次序有关问题

热度:2124   发布时间:2013-02-25 21:53:35.0
多线程里,线程执行的先后次序问题

class Runner implements Runnable
{
 
   public void run()
   {
      System.out.println("In Runner method run()\n");
   
   } 
   
   public synchronized void funcB()
   {
     System.out.println("In Runner funcB \n");
 
 
   }
  
}


class TestRun 
{

    public static void main(String args[])
{
    
Runner r=new Runner(); // run() method

TestRun t=new TestRun();

new Thread(r).start();
r.funcB();
t.funcA();



}


   public synchronized void funcA()
   {
   System.out.println("main method is here\n");   
     

   
   }


}



看以上例子,有时候 public void run() 这个会第一个执行,但是多数情况下都是最后才执行,

请问是什么决定线程执行的先后次序?
随机 完全没顺序
  相关解决方案