我使用我在网上找到的一些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");`
我正确地格式化了您的代码。你错过了“继续前进”的声明初始化,所以我不知道这个循环何时会结束。 –
您解开了我的格式更改,出于某种原因,我无法回滚历史记录 –