Java 对于并发的支持主要汇聚在
java.util.concurrent
,即 J.U.C。而 J.U.C 的核心是AQS
。
J.U.C 简介
Java 的 java.util.concurrent
包(简称 J.U.C)中提供了大量并发工具类,是 Java 并发能力的主要体现(注意,不是全部,有部分并发能力的支持在其他包中)。从功能上,大致可以分为:
- 原子类 - 如:
AtomicInteger
、AtomicIntegerArray
、AtomicReference
、AtomicStampedReference
等。 - 锁 - 如:
ReentrantLock
、ReentrantReadWriteLock
等。 - 并发容器 - 如:
ConcurrentHashMap
、CopyOnWriteArrayList
、CopyOnWriteArraySet
等。 - 阻塞队列 - 如:
ArrayBlockingQueue
、LinkedBlockingQueue
等。 - 非阻塞队列 - 如:
ConcurrentLinkedQueue
、LinkedTransferQueue
等。 Executor
框架(线程池)- 如:ThreadPoolExecutor
、Executors
等。