2016-03-14 88 views
-1

運行代碼:意外的線程執行

Thread tt = new Thread(new Runnable() { 

      @Override 
      public void run() { 
       System.out.println(Thread.currentThread().getName()); 
      } 
     }); 
System.out.println(tt.getName()); 
tt.run(); 

我希望得到:

Thread-0 
Thread-0 

而是我得到:

Thread-0 
main 

這是爲什麼?

+3

在線程上調用'start()',而不是'run()'。 –

+0

是的,對不起,因爲愚蠢:-( – Johnny

回答

0

您的線程的運行方法不會執行任何操作。 Runnable的run方法調用println,但在你的代碼中它永遠不會運行。在線程上調用start()而不是run()