2016-03-14 38 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()