我有这个方法:
public void start()
{
if(!isAclone())
{
...
this.thread.start()
}
else
{
...
this.thread.start()
}
我只在if-block
里面执行一个我的方法。无论我把方法放在start()
方法中,它都执行两次。我可以实现这个问题吗?
修改
private final AtomicBoolean hasRun = new AtomicBoolean();
...
initializeLogger();
if(!hasRun.getAndSet(true))
{
activateMonitoring();
}
....