Java并发编程概要

Java并发编程主要用到java.util.concurrent包下的类,主要结构如下:

1
2
3
4
java.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 待续