線程安全的 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