基本上我有代码
Thread t1 = new Thread(new Runnable() {
public void run(){
if(close==true){
JOptionPane.showMessageDialog(null,”ok”);
else{
t1.run();
}
}
});
但是在说t1.run的地方说变量t1可能尚未初始化。因此,有没有其他方法可以使线程在其他地方再次运行,或者有没有办法将其关闭是布尔变量。谢谢
答案 0 :(得分:1)
您可以将t1
替换为this
。
this.run() // recursive
如果运行足够长的时间,最终将耗尽堆栈空间。为了解决这个问题,您应该将所有内容包装成一个循环。这样,它将不会创建该网站同名(StackOverflowException
)的例外。
while (!close) {
JOptionPane.showMessageDialog(null, "ok");
}