我有这个方法:
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();
}
....