Netbeans问题:UI退出后某些线程是否仍在运行?

时间:2011-08-28 17:24:41

标签: java multithreading netbeans

我对Netbeans 6.9.1和7.0.1 IDE都有一个奇怪的问题。我有一个带有几个类的项目,从UI类我调用另一个类的实例来执行该程序的大部分工作。 我选择绿色箭头(运行主项目或F6按钮)并执行应用程序,我将看到我的Java应用程序的UI。 我在UI类中创建了一个Thread实例,当按下按钮时,代码执行,并使用thread.start()调用新线程。控制转移到另一个类,我有一个run()方法调用我的main方法来处理我传递给它的东西。这工作正常(我认为)但是有一个问题:当UI完成执行时它不会退出,因为我可能需要再次使用其他输入等重新运行UI。这使得IDE的行为就好像程序是仍在执行,运行主项目,清洁和清理和构建,以及调试按钮被着色/禁用,我所拥有的唯一按钮是配置文件和粘贴历史记录。我可以使用IDE控制台输出部分的双箭头重新运行应用程序。

如何让IDE发布可能仍在后台运行的线程,以便获得重启IDE所需的全部功能,我该怎么做。

感谢您提供任何信息或帮助。

1 个答案:

答案 0 :(得分:-1)

使用 join()等待线程完成: http://www.java2s.com/Code/JavaAPI/java.lang/ThreadjoinUsingjointowaitforthreadstofinish.htm

或尝试让它可以中断: www.java2s.com/Code/JavaAPI/java.lang/Threadinterrupt.htm

更简单/更清洁,更好:使用Swing Worker Thread http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html