JUC框架 系列文章目录 JDK8

前言

笔者在接下来这段时间将对JUC框架内的重点内容进行深度解析,由于内容颇多,需要分成多篇文章,所以在这里列一个目录,方便大家翻阅。

目录

JUC框架的基础是CAS和自旋,而CAS则是利用Unsafe类提供的CAS操作,而原子类则依靠于CAS和自旋。下面几篇文章从源码分析JUC框架内的几个重要的原子类。

  • JUC AtomicInteger源码解析 JDK8
  • JUC AtomicIntegerArray源码解析 JDK8
  • JUC AtomicStampedReference源码解析 JDK8

ThreadLocal本身不在JUC框架之中,但它却是一种防止多线程竞争的重要手段。

  • JUC ThreadLocal源码行级解析 JDK8
  • 听说你看过ThreadLocal源码,来面试下这几个问题

AQS(AbstractQueuedSynchronizer)向下依赖了CAS和自旋,向上则提供了一个同步队列的实现,许多JUC框架内中的类都直接使用了AQS作为内部类。下面几篇文章将从AQS提供的几种功能进行深度分析。

  • AQS深入理解系列(一) 独占锁的获取过程
  • AQS深入理解系列(二) 独占锁的释放过程
  • AQS深入理解系列(三)共享锁的获取与释放
  • AQS深入理解系列(四)Condition接口的实现

AQS中有些函数的具体实现细节,并不是很容易让人理解,这些地方一般都是因为考虑了同步队列变化中的中间状态。

  • AQS深入理解 hasQueuedPredecessors源码分析 JDK8
  • AQS深入理解 setHeadAndPropagate源码分析 JDK8
  • AQS深入理解 doReleaseShared源码分析 JDK8
  • AQS深入理解 shouldParkAfterFailedAcquire源码分析 状态为0或PROPAGATE的情况分析

JUC框架中有些同步构件依赖了AQS作为实现底层,我们一般使用它们来做到多线程之间的协作。

  • JUC框架 CountDownLatch源码解析 JDK8
  • JUC框架 CyclicBarrier源码解析 JDK8
  • JUC框架 Semaphore源码解析 JDK8
  • JUC框架 ReentrantReadWriteLock源码解析 JDK8
  • ReentrantReadWriteLock 深入理解读锁的非公平实现

JUC框架中也提供了各种用途的集合类。

  • JUC集合类 CopyOnWriteArrayList源码解析 JDK8
  • JUC集合类 CopyOnWriteArraySet源码解析 JDK8
  • JUC集合类 ConcurrentSkipListMap源码解析 JDK8

后记

以上文章一般多以源码分析为主,虽不敢保证完全权威,但肯定能为你对JUC的理解铺平道路。

如果对我的文章有疑问,欢迎在评论区指出。

如果觉得本人文章对你有帮助,欢迎关注,点赞,评论,收藏。

如果想要转载文章,请注明出处哦。

未完待续,To Be Continued!
JUC框架 系列文章目录 JDK8_第1张图片

你可能感兴趣的:(Java)