자바에서 몇 가지 예를 보았습니다. 코드 예제에서 일부 변수를 변경하기 위해 코드 블록에서 동기화를 수행했지만 변수는 원래 휘발성으로 선언되었습니다. 고유 인스턴스를 휘발성 변수로 선언하고 sychronized로 나타낸 싱글 톤 클래스의 예에서 보았습니다. 그 인스턴스를 초기화하는 블록 ... 내 질문은 왜 우리가 그것을 동기화하는 동안 우리는 둘 다 할 필요가 우리가 그것을 휘발성 선언하는 이유는 무엇입니까 ?? 그들 중 하나가 아닌가?휘발성 동기 블록을 사용하는 이유는 무엇입니까?
public class someClass {
volatile static uniqueInstance = null;
public static someClass getInstance() {
if(uniqueInstance == null) {
synchronized(someClass.class) {
if(uniqueInstance == null) {
uniqueInstance = new someClass();
}
}
}
return uniqueInstance;
}
미리 감사드립니다.
"volatile static uniqueInstance = null;"은 무엇입니까? ? –