在我的 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 新手,如果您指出我的代码的其他(潜在)问题,我将不胜感激!