Синхронизируемый блок, эквивалентный статическому синхронизированному методу?

Когда у Вас есть метод, такой как следующее:

public synchronized void addOne() {
    a++;
}

это эквивалентно следующему: (исправьте меня, если я неправ),

public void addOne() {
    synchronized(this) {
        a++;
    }
}

Но что эквивалент к следующему методу?:

public static synchronized void addOne() {
    a++;
    // (in this case 'a' must be static)
}

Что такое синхронизируемый блок, который действует то же как статический синхронизированный метод? Я понимаю, что статический синхронизированный метод синхронизируется на классе а не экземпляре (так как нет никакого экземпляра), но каков синтаксис для этого?

5
задан Ricket 25 July 2010 в 03:47
поделиться