利用ConcurrentHashMap创建ConcurrentH

2018-12-10  本文已影响0人  JavaHub
当我们需要一个线程安全的Set集合,怎么办?
  1. java1.6已经帮我们实现了
Set<String> acceptedClassLoaders = Collections.newSetFromMap(new ConcurrentHashMap(16));
  1. 谷歌的guava其实已经实现了线程安全的ConcurrentHashSet
Set<String> s = Sets.newConcurrentHashSet();
//源码
public static <E> Set<E> newConcurrentHashSet() {
    return newSetFromMap(new ConcurrentHashMap<E, Boolean>());
}

static <E> Set<E> newSetFromMap(Map<E, Boolean> map) {
    return Collections.newSetFromMap(map);
}
  1. spring里的CachedIntrospectionResults类也使用了


    image.png
  2. 大家在开发中需要的话,可以放心使用
上一篇 下一篇

猜你喜欢

热点阅读