私は実際にはJava分野の初心者であり、現在マルチスレッドの概念を学んでいます
私はあるプログラムに出くわし、そのプログラム自体に疑問を抱きました。
以下は私のプログラムです
public class SecondThreadDemo implements Runnable {
public void run() {
System.out.print(Thread.currentThread().getName());
}
}
class B implements Runnable {
public void run() {
new SecondThreadDemo().run();
new SecondThreadDemo().run();
new Thread(new SecondThreadDemo(), "T3").run();
new Thread(new SecondThreadDemo(), "T2").start();
new SecondThreadDemo().run();
new Thread(new SecondThreadDemo(), "T3").start();
}
}
class C {
public static void main(String[] args) {
new Thread(new B(), "T1").start();
}
}..
今私が期待していたのは、次の出力です
T1T1T1T1T3T3
しかし、それは次のようになります
T1T1T1T1T2T3
誰かが出力を明確にできますか?