JavaプログラムコンストラクタとメソッドのJavaプログラムで期待どおりに動作しない
で期待どおりコンストラクタとメソッドが動作していないが、私は次のコードを持っている:
package principal;
public class Principal {
public static void main(String[] args) {
Thread filosofos[]=new Thread[5];
for (int i=0;i<5;i++) {
System.out.println("loop");
filosofos[i]=new Thread();
filosofos[i].start();
}
// TODO Auto-generated method stub
}
}
package principal;
public class Filosofo implements Runnable{
static final int tamanho=5;
static int talheres[]=new int[tamanho];
static Semaforo semaforo= new Semaforo(1);
static int quantidade=0;
int id;
public Filosofo(){
System.out.println("Construtor iniciado.");
for (int i=0;i<tamanho;i++) {
talheres[i]=0;
}
quantidade++;
id=quantidade;
}
public void run() {
System.out.println("Filosofo "+id+" iniciado");
try {
// Filosofo pensando
Thread.sleep(1000);
} catch (Exception e) {
}
semaforo.down();
System.out.println("Filosofo "+id+" comendo");
semaforo.up();
}
}
プログラムは、文字列「コンストラクタのiniciadoを示すべきであるが。 "メソッドの他の2つの文字列が実行されます。しかし、コードを実行すると、何も起こらないのは、受け取った出力だけです
loop
loop
loop
loop
loop
コンストラクタの文字列が表示されないのはなぜですか?メソッドの実行が期待どおりに実行されないのはなぜですか?コンストラクタやメソッドの実行がまったく実行されていないように見えますが、何がうまくいかないのか分かりません。
どうすれば修正できますか? – Victor
解決策を見つけました。ありがとうございました。 – Victor
@Victor Salvatoreの回答を参照してください。 –