1

Java SwingWorker をシングルトンとして使用して、アプリケーション データをバックグラウンドで定期的にバックアップする予定です (おそらく Swing タイマーまたは java.util.Timer と組み合わせて)
。Singleton を SwingWorker に適用するのは良い考えですか?

4

2 に答える 2

2

SwingWorkerバックアップ タスクとの関係がわかりません。シングルトンパターンとの関係もわかりません。これは のタスクですTimer。ただし、複数のスレッドで開始しないように注意する必要があるかもしれませんが、シングルトンとしてラップしなくても実行できるはずです。

于 2011-05-28T13:56:25.017 に答える
2

SwingWorkerモデルの状態を保存するために簡単に使用できると思います。バックグラウンドでこのタスクを実行したい場合は、状態の現在のコピーを作成してそのコピーを保存することをお勧めします。したがって、モデルを別のスレッドに保存している間にモデルの状態を同期することを心配する必要はありません。

リカバリに関しては、ユーザーが以前のバージョンからのモデルのリカバリ中に行ったすべての操作を行ったり、後で失ったりしないようにする必要があります。回復が成功した場合と同様に、おそらく現在の状態をそれに設定します。したがって、この場合、ユーザー入力をブロックすることも適切であるため、現在のスレッドで簡単に実行できます。最初に、状態が回復されていることを示す適切な情報/ダイアログをユーザーに表示します。

于 2011-05-28T15:14:23.377 に答える