Здравствуйте, devcoach, Вы писали:
D>Ответ очень прост и прозаичен — потому что это удобно с точки зрения прикладного разработчика. Не больши и не меньше. Хотите разнести эти два понятия — не вопрос, используйте Lock.
http://c2.com/cgi/wiki?EveryObjectIsaMonitor
Да, как для 1995го года, казалось, довольно удобно. А в итоге вышло, что никак не защищает разработчика от ряда косяков, да ещё и не расширяется никак.
ReentrantLock и synchronized работают по-разному и дают разную производительность в зависимости от нагрузки. Lock не имеет bias locking оптимизации. Но при этом под нагрузкой показывает бОльшую эффективность, чем synchronized.