Разница между Hashtable и Collections.synchronizedMap (HashMap)

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

У меня два вопроса:

  1. Какая разница, чтобы синхронизировать каждый метод и иметь класс-оболочку? Какие сценарии выбрать один вместо другого?

  2. Что происходит, когда мы выполняем Collections.synchronizedMap (hash_table) ? Будет ли это равносильно простому использованию обычного java.util.Hashtable ?

46
задан Pacerier 20 August 2014 в 15:00
поделиться