本文基于如何去控制并发流程方面做详细介绍,主要介绍相关观念和控制手段。后续详细介绍各种控制手段的用法、实例及代码分析。
概述
有了控制并发流程,可以更好的去协调各个线程之间的工作,涉及各个线程之间的合作策略。
Semaphore:信号量
我们可以理解为:访问系统时,只有有限的凭证,只有拿到凭证之后才能进行相关操作。
CyclicBarrier
我们可以理解了需要线程去等待,只有达到足够多的线程数时,才可以进行下一步的操作
Phaser
我们可以理解为:和CyclicBarrier类似,区别在于计数是可变的
CountDownLatch
我们可以理解为:和CyclicBarrier类似,只有线程数量递减到0时,才能触发相关操作
Exchanger
我们可以理解为:让两个线程在合适的时机去交换对象
Condition
我们可以理解为:可以控制线程的等待和唤醒。
后续会对各个用法做详细分析。