2
를 작성 하는가 : 싱글 인스턴스 테스트 휘발성이 될를 선언함으로써는 다음 싱글 가정 휘발성 클래스 보증 휘발성 클래스 변수
public class Test{
private static volatile Test test = null;
private static int test_int = 0;
private static String test_string = "test";
public int getInt(){
return test_int;
}
public String getString(){
return test_string;
}
private static Test getInstance(){
if(test == null){
synchronized(Test.class){
if(test == null)
test = new Test();
}
}
}
을 test_int 및 test_string 또한 휘발성로 간주됩니다하거나이 같은 선언해야? 나는 클래스 자체를 휘발성으로 만드는 것으로 생각하고 싶다. 그리고 그 클래스 아래의 모든 것은 휘발성 일 것이다 ... 그러나 나는 이것에 대해 확신하지 않는다. 미리 감사드립니다.
1 : 당신은 안전 작업을 처리하는 AtomicInteger, AtomicLong 또는 AtomicReference 같은 래퍼를 사용하는 것을 동의합니다. 당신이 지역 변수보다는 휘발성 필드만을 가질 수 있다는 것이 단점입니다. ;) –
위 예제에서 AtomicInteger와 AtomicReference를 사용하는 방법은 무엇입니까? – Deepak
@Deepak : 최종 AtomicInteger (또는 무엇이든) 변수를 만든 다음 래핑 된 값을 원자 적으로 변형시키는 객체입니다. –