我的密码
public class Main {
public static void main(String[] args)throws Exception {
Thread thread1=new Thread(new Runnable()
{
public void run()
{
System.out.println("Thread1");
}
});
thread1.join();
thread1.start();
for (int i = 0; i < 1000; i++) {
System.out.println(i);
}
}
}
有时甚至在打印所有数字之前就打印“ Thread1”。有什么理由吗? Thread1是否应该等待主线程完成?
最佳答案
thread1.join();
thread1.start()
做了
thread1.start()
thread1.join();
它将通过
thread1.start()
从主线程开始一个线程,并且主线程将在下一行继续执行,它将看到thread1.join();
,这将暂停主线程的执行,直到thread1完成。这样您的工作就可以完成