一、Java.util.concurrent.atomic包下的原子类 AtomicXXXX(Atomic意为原子的)数组
例如:AtomicInteger AtomicBoolean AtomicLong安全
AtomicIntegerArray、AtomicLongArray:该类是Java对Integer数组和Long数组支持的原子性操做;atom
二、常见的集合类线程
List:Vector (效率低,不建议用)code
Map:ConcurrentHashMap HashTable ConcurrentSkipListMap继承
Set:ConcurrentSkipListSet接口
ConcurrentSkipListSet和TreeSet,它们虽然都是有序的集合。可是,第一,它们的线程安全机制不一样,TreeSet是非线程安全的,而ConcurrentSkipListSet是线程安全的。第二,ConcurrentSkipListSet是经过ConcurrentSkipListMap实现的,而TreeSet是经过TreeMap实现的。ip
三、可变字符串:StringBuffer也是线程安全字符串
四、BlockingQueue 和 BlockingDequeBlockingDeque
接口继承了BlockingQueue
接口, BlockingQueue
接口的实现类有ArrayBlockingQueue
,LinkedBlockingQueue
,PriorityBlockingQueue
而BlockingDeque
接口的实现类有LinkedBlockingDeque
BlockingQueue
和BlockingDeque
都是经过使用定义为final的ReentrantLock
做为类属性显式加锁实现同步的同步