에 대한 액세스를 동기화합니다. 메소드가 정적 필드를 수정하면 클라이언트가 해당 필드에 대한 외부 동기화를 수행 할 수 없으므로이 필드에 대한 액세스를 동기화해야한다고 언급했습니다. 방법. 클라이언트가 정적 메서드에서 외부 동기화를 수행 할 수 없다는 것을 어떻게 이해할 수 있습니까?은 Josh Bloch의 Effective Java 항목 67에있는 정적 필드
내부 동기화 구현 :
public class Serial {
private static int serialNumber = 0;
public synchronized static void incSerial() {
serialNumber++;
}
}
에는 내부 동기화를 구현하지 않는 경우, 클라이언트는 외부 동기화 할 수 있습니다 :
synchronize(Serial.class) {
Serial.incSerial();
}
어떤 아이디어?
btw 정확한 견적을 제공하고이 페이지를 알려주십시오. 나는 블로흐가 명확하고 정확한 것으로 기대할 것이다. – Bozho