如何在线程中再次运行线程或初始化该线程

时间:2018-08-22 18:47:21

标签: java

基本上我有代码

Thread t1 = new Thread(new Runnable() {
    public void run(){
        if(close==true){
            JOptionPane.showMessageDialog(null,”ok”);
        else{
             t1.run();
        }
    }
});

但是在说t1.run的地方说变量t1可能尚未初始化。因此,有没有其他方法可以使线程在其他地方再次运行,或者有没有办法将其关闭是布尔变量。谢谢

1 个答案:

答案 0 :(得分:1)

您可以将t1替换为this

this.run() // recursive

如果运行足够长的时间,最终将耗尽堆栈空间。为了解决这个问题,您应该将所有内容包装成一个循环。这样,它将不会创建该网站同名(StackOverflowException)的例外。

while (!close) {
    JOptionPane.showMessageDialog(null, "ok");
}