Как работает синхронизация в Java?

У меня есть сомнения относительно синхронизации Java. Я хочу знать, есть ли у меня три синхронизированных метода в моем классе, и поток получает блокировку в одном синхронизированном методе, два других будут заблокированы? Я задаю этот вопрос, потому что меня смущает следующее утверждение.

Пока поток находится внутри синхронизированного метода объекта, все остальные потоки, желающие выполнить этот синхронизированный метод или любой другой синхронизированный метод объекта, должны будут ждать. Это ограничение не распространяется на поток, который уже имеет блокировку и выполняет синхронизированный метод объекта. Такой метод может вызывать другие синхронизированные методы объекта без блокировки. Несинхронизированные методы объекта, конечно, могут быть вызваны в любое время любым потоком

17
задан xyz 25 June 2012 в 16:05
поделиться