マルチスレッドは初めてで、いくつかの質問と混乱に遭遇しました。:)
public class NewThread implements Runnable {
Thread t;
NewThread() {
t = new Thread(this, "Demo Thread");
System.out.println("Child Thread " + t);
t.start();
}
@Override
public void run() {
try {
for (int i = 5; i > 0; i--) {
System.out.println("Child Thread: " + i);
Thread.sleep(500);
}
} catch (InterruptedException e) {
System.out.println("Child Interrupted.");
}
System.out.println("Exiting Child Thread.");
}
}
class ThreadDemo {
public static void main(String[] args) {
NewThread t = new NewThread();
try {
for (int i = 5; i > 0; i--) {
System.out.println("Main Thread: " + i);
Thread.sleep(1000);
}
} catch (InterruptedException e) {
// TODO: handle exception
System.out.println("Main Thread Interrupted.");
}
System.out.println("Main Thread Exiting.");
}
}
例外出力
私の出力
コンソールの出力が予想される出力と異なるのはなぜですか? ありがとうございました。