JVM决定何时将控制权从主线程转移到第二个线程。由于主线程在启动第二个线程后不会执行太多工作,因此JVM可以在将控制权转移到第二个线程之前完成工作。
当您使用
tt.run()而不是时,
tt.start()您不会启动第二个线程。您正在
run()主线程中执行该方法。因此,您
"Newthread"首先会看到输出。

JVM决定何时将控制权从主线程转移到第二个线程。由于主线程在启动第二个线程后不会执行太多工作,因此JVM可以在将控制权转移到第二个线程之前完成工作。
当您使用
tt.run()而不是时,
tt.start()您不会启动第二个线程。您正在
run()主线程中执行该方法。因此,您
"Newthread"首先会看到输出。