Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Synchronyzed


Автор: altarasjuk 14.5.2003, 15:22
Вопрос очень тупой, но всё же прошу ответа.

Код

class aaaa {
 synchronyzed public void m1() {
   ......................
 }

 synchronyzed public void m2() {
   ......................
 }
}


в этом класе 2 synchronyzed метода. Если работает скажем m1(), то синхронизация распространяется только на m1() или на m2() тоже?

Автор: DarkDS 14.5.2003, 15:24
При работающем м1 - только на м1...если будет работать м2, то и на него

Автор: altarasjuk 14.5.2003, 17:16
Ты звеняй, но я торможу: начал работать m1. m2 в это же время может работать?

Автор: DarkDS 14.5.2003, 17:47
может... но если в одном из них будет обращение к ресурсу, который используется во втором, то тот, которые обращается позже возможно будет сидеть в ожидании...
В основном синхронайз делают для того чтобы обрашатся к одному и тому же методу из разных тредов. (чтобы второй тред ожидал освобождения). Обычно если несколько синхронизированных методов, то они ни как между собой не связанны...

Автор: DarkDS 14.5.2003, 17:56
Вот описание - для интреса мона ознакомится smile.gif
http://www.mv.ru/~cheat/lern/Java/17-doc.htm

Автор: altarasjuk 14.5.2003, 19:04
сенкю smile.gif, наконец-то дошло.

Автор: DarkDS 14.5.2003, 19:57
Дык не за что smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)