Java线程安全类

线程不安全的类:
HashMap
LinkedHashMap
TreeMap
ArrayList
LinkedList
HashSet
TreeSet
LinkedHashSet
StringBuilder

线程安全的类:
ConcurrentHashMap
Hashtable
Vector
CopyOnWriteArrayList
CopyOnWriteArraySet
StringBuffer

需要注意的是,在使用支持线程安全的类时,要注意性能问题,比如Hashtable的性能要比ConcurrentHashMap差,还有些类有特殊的使用场景,比如CopyOnWriteArrayList和CopyOnWriteArraySet是使用在读操作远远多于写操作的场景下,用在其他场景时性能会下降很多。

JDK源码concurrent目录中是一些支持并发访问的类。除此之外,Java还提供了多种线程安全的方式,比如synchronized,ReentrantLock,同步包装器(Collections.synchronizedXXX)等,根据具体情况由开发设计人员选择适合的线程安全方式。

猜你喜欢

转载自blog.csdn.net/qq_35312171/article/details/82662622