私の Java プロジェクトでは、シングルトン クラスを定期的に更新する必要があります。これは、作成時にタイマーを設定することによって行われます。ただし、これはupdate
関数が公開されている必要があることを意味します。タイマー タスクだけがそれを呼び出すことができる必要があります。どうすればこれを解決できますか?
public class MySingleton {
private TimerTask updateMySingletonTask = new UpdateMySingletonTask();
private static Timer timer = new Timer();
private MySingleton mySingleton = null;
public MySingleton() {
timer.schedule( updateMySingletonTask, 1000, 1000);
}
public static MySingleton getInstance() {
if ( mySingleton == null )
mySingleton = new MySingleton();
return mySingleton;
}
public update() {
// ...
}
}
class UpdateMySingletonTask extends TimerTask {
@Override
public void run() {
MySingleton.getInstance().update();
}
}
私は Java を初めて使用するので、私のコードに関する他の (潜在的な) 問題を指摘していただければ、非常に感謝しています。