使用Java Swing worker作为单例来在后台备份应用程序数据

时间:2011-05-28 13:46:46

标签: java swing swingworker

我打算使用Java SwingWorker作为单例来定期在后台备份应用程序数据(可能与Swing计时器或java.util.Timer结合使用)
是这样的策略声音?将Singleton应用于SwingWorker是一个好主意吗?

2 个答案:

答案 0 :(得分:2)

我没有看到SwingWorker与备份任务有什么关系。我也看不出单身人士模式与之有什么关系。这是Timer的任务。你可能不得不小心不要在多个线程中启动它,但是这应该是可行的,而不将其包装为单个。

答案 1 :(得分:2)

我认为您可以轻松使用SwingWorker来保存模型的状态。如果你想在后台执行这项任务,最好是制作一个状态的当前副本并保存副本,这样你就不必担心在将模型保存到另一个线程时同步模型的状态。

在进行恢复的过程中,您可能希望确保用户不会在之前的版本恢复模型期间完成所有操作。在成功恢复时,您可能会将当前状态设置为它。因此,在这种情况下,甚至可以阻止任何用户输入,因此您可以轻松地在当前线程上执行此操作。首先向用户显示一些适当的信息/对话框,表明状态正在恢复。