1

私はこの方法を持っています:

public void start()
{

if(!isAclone())
{
...
this.thread.start()
}
else
{
...
this.thread.start()
}

メソッドの 1 つだけを内部で実行します。メソッドをメソッド内if-blockに配置start()すると、2 回実行されます。この問題を解決するにはどうすればよいですか?

編集

private final AtomicBoolean hasRun = new AtomicBoolean();

...
initializeLogger();
if(!hasRun.getAndSet(true))
{
   activateMonitoring();
}

....
4

0 に答える 0