线程安全的 Set、List


 线程安全的Set:

1 java.util.Collections.synchronizedSet(Sets.newHashSet()); // jdk提供的,使用同步来保证线程安全
2 new java.util.concurrent.CopyOnWriteArraySet<>(); // jdk提供的,底层使用 CopyOnWriteArrayList 实现,适合集合大小较小的场景
3 com.google.common.collect.Sets.newConcurrentHashSet(); // guava 提供的线程安全的 Set ,底层使用 ConcurrentHashMap 实现
4 com.alibaba.dubbo.common.utils.ConcurrentHashSet  // 底层使用 ConcurrentHashMap 实现

 

综上可以看出,线程安全的 Set 底层选用 ConcurrentHashMap 的居多

 

线程安全的 List:

1 java.util.Collections.synchronizedList(new ArrayList())
2 java.util.concurrent.CopyOnWriteArrayList

https://www.cnblogs.com/javastack/p/11599729.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM