synchronized в synchronized методе
От: Cadet  
Дата: 23.01.11 14:15
Оценка:
Доброго времени суток, коллеги.

Осваиваю андроид, ну и параллельно с этим сам язык java — он для меня в новинку. Копаясь в примерах, несколько раз натыкался на конструкцию:
public synchronized void restoreState(Bundle savedState) {
    synchronized (mSurfaceHolder) {
    // ...
    }
}

mSurfaceHolder — приватная экземплярная (нестатическая) переменная.

Какой смысл во внутреннем блоке synchronized? Если я верно понял документацию по java, то все вызовы synchronized методов защищены от одновременного вхождения для каждого объекта, т.е. следующие 2 метода по в моем понимании эквивалентны
public synchronized void method1() {
}

public void method2() {
    synchronized (this) {
    }
}

и в этом случае дополнительный блок не нужен. Я прав или просто еще чего-то не знаю?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.