我使用我在網上找到的一些2DTransitions創建Java幻燈片。一切工作順利,但我遇到了一個問題,爲什麼試圖在幻燈片渲染後執行代碼。我認爲Java線程被用來隔離進程,例如我有一個類似的設置與無限的while循環,並且一個線程解決了這個問題。這裏它不工作,我不知道爲什麼。在下面的代碼中,我得到了第一個輸出,但它掛在thread.run上,並且從不打印最後一個輸出。Java Thread Hang
任何想法爲什麼?
下面是相關代碼:
System.out.println("Slideshow init");
Thread thread = new Thread(new Runnable() {
//TODO SLIDESHOW PROBLEM RIGHT HERE
public void run(){
int i=0;
while(keepgoing){
if(i==images.size()-1){
transit(images.get(images.size()-1),images.get(0));
i=0;
}
else
transit(images.get(i),images.get(i+1));
i++;
}
}
});
System.out.println("Thread created");
thread.run();
System.out.println("Thread started");`
我正確地格式化了您的代碼。你錯過了「繼續前進」的聲明初始化,所以我不知道這個循環何時會結束。 –
您解開了我的格式更改,出於某種原因,我無法回滾歷史記錄 –