如何安全地使用SwingWorker?

时间:2016-02-13 00:43:42

标签: java swing process swingworker

我刚开始使用SwingWorker进行迭代算法。在创建从SwingWorker扩展的类的对象之后,我在从JFrame扩展的主类的构造函数中执行了execute()函数。我在应用程序运行期间使用doInBackground()和process()函数。我不需要在整个应用程序中停止执行。当用户关闭我的JFrame应用程序时,是否需要为SwingWorker执行任何停止或清除任务?我的意思是,直接关闭使用SwingWorker的JFrame应用程序是否安全?

由于

1 个答案:

答案 0 :(得分:3)

SwingWorker使用它自己的ExecutorService,它由它自己的ThreadFactory支持,后者生成守护进程Thread,这意味着JVM将能够退出所有非-daemon线程已经完成。

安全吗?那将归结为SwingWorker实际正在做的事情,但是如果你没有持有任何资源,或者让其他进程依赖SwingWorker的结果来完成他们的工作(并且关闭资源等),它应该是