JUC包是java并发编程的核心工具包
主要分为以下几个部分
- 锁: AQS下面的锁,ReentrantLock,ReadWriteLock。CAS
- 同步器: CountDownLatch
- 原子类: AtomicInteger、AtomicReference等
- 并发安全的集合: 包括阻塞队列,非阻塞队列,ConcurrentHashMap、CopyOnWriteArrayList等集合
- 线程池: ThreadPool、Future等
并发安全的集合
- 阻塞队列: BlockingQueue下面的所有实现类都是并发安全的,例如ArrayBlockingQueue、LinkedBlockingQueue。
- 非阻塞队列: 使用CAS实现并发安全的CourrentLinkedBlockingQueue、ConcurrentLinkedDeque
- 并发Map: ConcurrentHashMap、ConcurrentSkipListMap(跳表实现的排序map)