Runnable 和 Thread 对象的打印顺序
Print Order for Runnable and Thread object
先打印出"main thread",再打印出"child thread"。为什么不先 "child thread" 呢?谁能解释一下?谢谢。
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("child thread");
}
}
});
t.start();
for (int i = 0; i < 10; i++) {
System.out.println("main thread");
}
}
让我解释一下你的代码。
Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("child thread");
}
}
});
在这部分中,您将定义一个线程。这只是一个定义,在 t.start()
之前不会发生任何事情。当您的程序到达 t.start()
时,另一个线程将 运行 并且您的应用程序的主线程将继续。可能在线程启动之前,您的主线程将打印多个 "main thread"s,当您的线程到达 System.out.println("child thread");
时,您将看到两种打印的混合。有关 java 个主题的更多信息,请访问 here。
先打印出"main thread",再打印出"child thread"。为什么不先 "child thread" 呢?谁能解释一下?谢谢。
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("child thread");
}
}
});
t.start();
for (int i = 0; i < 10; i++) {
System.out.println("main thread");
}
}
让我解释一下你的代码。
Thread t = new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("child thread");
}
}
});
在这部分中,您将定义一个线程。这只是一个定义,在 t.start()
之前不会发生任何事情。当您的程序到达 t.start()
时,另一个线程将 运行 并且您的应用程序的主线程将继续。可能在线程启动之前,您的主线程将打印多个 "main thread"s,当您的线程到达 System.out.println("child thread");
时,您将看到两种打印的混合。有关 java 个主题的更多信息,请访问 here。