私はここの初心者で、Java プログラミングを学び始めました。
スレッド化を試すプログラムを作成しました。あるクラスでは、1 から 100 までの数字を表示するプログラムを作成し、別のクラスでは 999 から 100 までの数字を表示するプログラムを作成しました。スレッドのオブジェクトと渡された(私のクラスのr1、r2オブジェクト参照)それらをパラメーターとして。今、私が得た出力は、何らかの方法で期待どおりではなく、2 番目のスレッドが実行されていないと感じています。私のロジックまたはプログラムに問題があるかどうかはわかりません。ヘルプ/アドバイスをいただければ幸いです。参照用に以下の私のコード。
クラス 1:
public class Run implements Runnable {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
try {
Thread.sleep(200);
} catch (InterruptedException ex) {
Logger.getLogger(Run.class.getName()).log(Level.SEVERE, "...", ex);
}
System.out.println(i);
}
}
}
クラス 2: public class Run2 extends Thread {
public void run2() {
for(int i=999;i>0;i--){
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
Logger.getLogger(Run2.class.getName()).log(Level.SEVERE, "....", ex);
}
System.out.println(i);
}
}
}
メインクラス:
public class Threading {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Run r= new Run();
Thread t1=new Thread(r);
t1.start();
Run2 r2=new Run2();
Thread t2=new Thread(r2);
t2.start();
}
}