1

我有这个方法:

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();
}

....
4

0 回答 0