私は春のサービスクラスを持っている:Spring @Service内部のプリミティブなインスタンス変数をスレッドセーフにする方法は?
@Service
public class MyService {
private boolean flag = false;
public void method1() {
if(!flag)
// do something
flag = true;
}
public void method2() {
if(!flag)
// do something
flag = true;
}
}
それはflag
はスレッドセーフではないことは明らかです。サービスクラスのスコープを変更することなく、スレッドセーフにするためにはどのようなオプションが必要ですか?それは目的を解決する揮発性にすることができますか? 私はここに投稿する前に解決策を探していましたが、見つけられませんでした。