共计 736 个字符,预计需要花费 2 分钟才能阅读完成。
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 和 BlockingDequeBlockingDeque
接口继承了 BlockingQueue
接口,BlockingQueue
接口的实现类有 ArrayBlockingQueue
,LinkedBlockingQueue
,PriorityBlockingQueue
而BlockingDeque
接口的实现类有 LinkedBlockingDeque
BlockingQueue
和BlockingDeque
都是通过应用定义为 final 的 ReentrantLock
作为类属性显式加锁实现同步的