关于java:Java-Java中常见的线程安全的类

1、Java.util.concurrent.atomic包下的原子类 AtomicXXXX(Atomic意为原子的)

例如:AtomicInteger AtomicBoolean AtomicLong

AtomicIntegerArray、AtomicLongArray:该类是Java对Integer数组和Long数组反对的原子性操作;

2、常见的汇合类

List:Vector (效率低,不倡议用)

Map:ConcurrentHashMap HashTable ConcurrentSkipListMap

Set:ConcurrentSkipListSet

ConcurrentSkipListSet和TreeSet,它们尽管都是有序的汇合。然而,第一,它们的线程平安机制不同,TreeSet是非线程平安的,而ConcurrentSkipListSet是线程平安的。第二,ConcurrentSkipListSet是通过ConcurrentSkipListMap实现的,而TreeSet是通过TreeMap实现的。

3、可变字符串:StringBuffer也是线程平安

4、BlockingQueue 和 BlockingDeque
BlockingDeque接口继承了BlockingQueue接口, 
BlockingQueue 接口的实现类有ArrayBlockingQueue ,LinkedBlockingQueue ,PriorityBlockingQueue 而BlockingDeque接口的实现类有LinkedBlockingDeque 
BlockingQueueBlockingDeque 都是通过应用定义为final的ReentrantLock作为类属性显式加锁实现同步的

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理