我只是在写一些代码,我突然想到了。我正在创建一个 Timer 对象并通过timer.scheduleAtFixedRate(...)
.
public class MyClass {
..
public MyClass() {
Timer timer = new Timer(true);
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
doStuffEachSecond();
}
}, (long)0, (long)1000);
// more stuff
}
现在,doStuffEachSecond()
是一个实例方法MyClass
。由于我的初始延迟为零,并且在我的 Timer 设置后构造函数中发生了更多的事情,我怎么知道在对象初始化完成之前不会发生我的计时器的第一次调用?或者可能是这种情况(这当然不好)?
现在我的解决方案是我的计时器设置是构造函数的最后一步,但这似乎充其量是不确定的。关于这个问题有什么智慧吗?