摘要: 阶段执行器,跟Barrier有点类似。 分阶段执行,一个阶段中所有的线程都执行完了再执行下一个阶段的线程。 下面的代码是模仿一对新人结婚的场景:1. 等所有人到齐了 2. 等所有人都吃完了 3.等所有人都离开了 4. 新人入洞房。这四个步骤分为四个阶段执行。 假设婚礼参加都人数算上新人一共有7个人, 阅读全文
posted @ 2020-09-23 22:44 Risus 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 当线程树达到一定数量,这个栅栏放到,执行这些数量的线程,然后有拦住下一批线程。 第一个参数指的是拦住的线程数。它要等到放过去的那一批线程全部执行完才能执行下一批,相当于一个限流器,相当于我们现实中挤地铁一样。 阅读全文
posted @ 2020-09-23 22:14 Risus 阅读(117) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock 是可以替代synchronized使用的。 区别与优点: ReentrantLock vs synchronized 底层是CAS vs sync锁升级 可以使用tryLock进行一个锁状态的判断和处理 可以使用lockInterrupptibly 打断当前锁的等待状态 阅读全文
posted @ 2020-09-23 21:41 Risus 阅读(108) 评论(0) 推荐(0) 编辑