Junior
22
0
questionbank

Каким образом можно получить синхронизированные объекты стандартных коллекций в Java?

Answer from sobes.tech neural network

Используя статические методы класса Collections:

  • Collections.synchronizedCollection(Collection<T> c)
  • Collections.synchronizedList(List<T> list)
  • Collections.synchronizedMap(Map<K,V> m)
  • Collections.synchronizedSet(Set<T> s)
  • Collections.synchronizedSortedMap(SortedMap<K,V> m)
  • Collections.synchronizedSortedSet(SortedSet<T> s)

Эти методы возвращают "обертки" (wrappers) над исходными коллекциями, которые делегируют вызовы методов оригинальным коллекциям, но делают это внутри synchronized блока, используя в качестве монитора объект-обертку.

Пример:

java

Используя статические методы класса Collections:

  • Collections.synchronizedCollection(Collection<T> c)
  • Collections.synchronizedList(List<T> list)
  • Collections.synchronizedMap(Map<K,V> m)
  • Collections.synchronizedSet(Set<T> s)
  • Collections.synchronizedSortedMap(SortedMap<K,V> m)
  • Collections.synchronizedSortedSet(SortedSet<T> s)

Эти методы возвращают "обертки" (wrappers) над исходными коллекциями, которые делегируют вызовы методов оригинальным коллекциям, но делают это внутри synchronized блока, используя в качестве монитора объект-обертку.

Пример:

java

Register or sign in to get access to full answers for all questions from the question bank.

javaconcurrencycollections-frameworksynchronizationthread-safetymultithreading