【问题标题】:How can I use SwingWorker safely?如何安全使用 SwingWorker?
【发布时间】:2016-02-13 00:43:42
【问题描述】:

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

谢谢

【问题讨论】:

  • SwingWorker 使用它自己的ExecutorService,它由它自己的ThreadFactory 支持,它生成守护进程Threads,这意味着一旦所有非守护线程的完成了。安全吗?这将归结为您的 SwingWorker 实际在做什么,但是如果您没有打开任何资源或让其他进程依赖于 SwingWorker 的结果来完成他们的工作(并关闭资源,等),它应该是
  • 谢谢!这是我正在寻找的答案。你为什么不把它写成答案而不是评论?

标签: java swing process swingworker


【解决方案1】:

SwingWorker 使用它自己的ExecutorService,它由它自己的ThreadFactory 支持,它生成守护进程Threads,这意味着一旦所有非守护线程都完成,JVM 将能够退出。

安全吗?这将归结为您的 SwingWorker 实际在做什么,但是如果您没有打开任何资源或让其他进程依赖于 SwingWorker 的结果以完全完成他们的工作(并关闭资源,等),它应该是

【讨论】:

    猜你喜欢
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多