Похоже, что в Java существует множество различных реализаций и способов создания потокобезопасных наборов.
Некоторые примеры включают
1) CopyOnWriteArraySet
2) Collections.synchronizedSet(Set set)
3) ConcurrentSkipListSet
4) Collections.newSetFromMap(new ConcurrentHashMap())
5) Другие наборы, сгенерированные способом, аналогичным (4)
Эти примеры взяты из шаблона параллелизма: реализации параллельных наборов в Java 6.
Может кто-нибудь просто объяснить различия, преимущества и недостатки этих и других примеров? У меня возникли проблемы с пониманием и пониманием всего, что содержится в документации Java Std.