1.CountDownLatch
CountDownLatch主要是定义阈值N,到达一个减少1个(N–),当N等于0时,线程可以继续走下去。可用于一个大任务拆分成几个无关的小任务,交给不同的线程去做,等到所有的线程都做完了,可以继续进行。
2.CyclicBarrier
CyclicBarrier定义,定义栅栏数目N,相关线程到达一个,计数加1,等到计数达到N时,可以继续运行,可以循环使用。可用于,讲一个任务分成几个阶段,每个阶段的任务切分成独立的小任务,交给线程并行处理,但是一个阶段完成之后,才可以进行到下一个阶段。