スレッドが実行を開始する順序を教えてもらえますか? 私は次のコードを書きました
class NewThread implements Runnable {
Thread t;
NewThread() {
//creating a second thread.
t=new Thread(this,"Demo Thread");
System.out.println("Child Thread:"+t);
t.start();
}
public void run() {
try {
for(int i=0;i<5;i++) {
System.out.println("Child Thread:"+i);
Thread.sleep(3000);
}
} catch(Exception e) {
System.out.println(e.getLocalizedMessage());
}
System.out.println("Exiting Child Thread");
}
}
この
public class ThreadDemo {
public static void main(String args[]) {
new NewThread();
try {
for(int i=0;i<5;i++) {
System.out.println("Main Thread:"+i);
Thread.sleep(3000);
}
} catch(Exception e) {
System.out.println(e.getLocalizedMessage());
}
System.out.println("Exiting Main Thread");
}
}
このコードを実行すると、さまざまな出力セットが得られます。
Child Thread:Thread[Demo Thread,5,main]
Main Thread:0
Child Thread:0
Child Thread:1
Main Thread:1
Main Thread:2
Child Thread:2
Main Thread:3
Child Thread:3
Main Thread:4
Child Thread:4
Exiting Main Thread
Exiting Child Thread
もう一つ、
Child Thread:Thread[Demo Thread,5,main]
Main Thread:0
Child Thread:0
Child Thread:1
Main Thread:1
Child Thread:2
Main Thread:2
Child Thread:3
Main Thread:3
Child Thread:4
Main Thread:4
Exiting Child Thread
Exiting Main Thread
なぜこれが起こっているのですか?スレッドの順序が同じになることはありませんか?? 誰かがスレッドの基本と例へのポインタを私に与えることができれば、それは素晴らしいことです. PS: 私はスレッドが初めてで、これが私の最初のスレッド プログラムです。前もって感謝します。