構造函數和方法,有望在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();
}
}
程序應表現出字符串「Construtor iniciado。 「和另外兩個方法運行的字符串。然而,當我運行的代碼沒有任何反應只是我收到的
loop
loop
loop
loop
loop
爲什麼構造函數的字符串沒有顯示出來的輸出?爲什麼該方法運行未按預期運行?它看起來像構造函數和方法運行根本沒有運行,我不知道什麼是錯的。
我該如何解決這個問題? – Victor
我現在找到了解決方案,謝謝。 – Victor
@Victor See Salvatore的答案,我爲此提供了一個潛在的解決方案。 –