Java并发编程主要用到java.util.concurrent包下的类,主要结构如下:1
2
3
4java.util.concurrent
|----atomic
|----locks
|----各种类
如果再深入,还需要了解sun.misc.Unsafe、CAS、内存可见性、JMM重排序等。
Java并发包概述
java.util.concurrent.atomic
主要为线程安全的原子性类,Atomic开头,如AtomicInteger
java.util.concurrent.locks
锁,最主要的是AbstractQueuedSynchronizer这个抽象类,另外是ReentrantLock、ReentrantReadWriteLock等用于实现锁的类
java.util.concurrent.*
多线程的工具类,可以分为以下几类:
1、如 ConcurrentHashMap、ArrayBlockingQueue、ConcurrentLinkedQueue等;
2、线程池相关,如ThreadPoolExecutor;
3、多线程协作的并发类,如FutureTask、CountDownLatch、CyclicBarrier等
Java并发包类层次关系
1 | TODO 待续 |