自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 CountDownLatch源码解析

文章只是简单记述下CountDownLatch的原理,看过AQS、ReentrantLock和ReentrantReadWriteLock的文章后,可以大致清楚了解和AQS相关工具的使用。CountDownLatch本身也是通过一个内部类Sync实现AQS,所以其构造方法内部也是实现如何去初始化这个Sync的过程。 public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumentExc

2020-12-05 23:39:53 238 1

原创 CyclicBarrier源码解析

和CountDownLatch不同,CyclicBarrier表示调用await方法之后,线程会阻塞知道,知道一定数目的线程执行了await之后才会全部唤醒。而且CyclicBarrier还有两个功能点,支持重复使用和唤醒时回调。所以我们需要第一步了解到CyclicBarried是如何等待多个线程等待并且一起唤醒的。1、初始化CyclicBarrierCyclicBarrier默认的初始化比较简单,parties表示需要等待多少个线程await后才唤醒。 public CyclicB

2020-12-05 23:39:27 240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除