次の multiThreading コードを複数回実行しようとすると、出力は前のものと同じではありません。それは JVM の動作のためですか、それとも他の理由かもしれません。誰か助けてください。
program:
package example.thread.com;
class MyThread1 implements Runnable {
Thread t;
MyThread1(String s) {
t = new Thread(this, s);
t.start();
}
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("Thread Name :"
+ Thread.currentThread().getName());
try {
Thread.sleep(2000);
} catch (Exception e) {
}
}
}
}
public class RunnableThread1 {
public static void main(String args[]) {
System.out.println("Thread Name :" + Thread.currentThread().getName());
MyThread1 m1 = new MyThread1("My Thread 1");
MyThread1 m2 = new MyThread1("My Thread 2");
}
}
出力:初めて実行した場合
Thread Name :main
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 2
出力: 2 回目の実行の場合
Thread Name :main
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 2
出力: 3 回目の実行の場合
Thread Name :main
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 2
Thread Name :My Thread 1
Thread Name :My Thread 2
Thread Name :My Thread 1
このように提案してください.....