Насколько я знаю, java.util.Hashtable
синхронизирует каждый метод в java.util.Map
интерфейс, а Collections.synchronizedMap(hash_map)
возвращает объект-оболочку, содержащий синхронизированные методы делегирования вызовов фактическому hash_map
(исправьте меня, если я ошибаюсь).
У меня есть два вопроса:
-
Какая разница, чтобы синхронизировать каждый метод и иметь класс-оболочку? Каковы сценарии выбора одного над другим?
-
Что происходит, когда мы делаем
Collections.synchronizedMap(hash_table)
? Будет ли это равным простому использованию обычногоjava.util.Hashtable
?