CountDownLatch 是一个同步工具类,它容许一个或多个线程一直等待,直到其余线程的操做执行完后再执行。CountDownLatch是经过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了本身的任务后,计数器的值就会减1。当计数器值到达0时,它表示全部的线程已经完成了任务,而后在闭锁上等待的线程就能够恢复执行任务。html
详情:http://www.importnew.com/15731.html工具
CyclicBarrier 做用就是凑齐N个线程,而后一块儿继续执行;没凑齐怎么办?一块儿等着呗。注意,是每凑齐N个线程,而不是一次性的。.net
详情:http://blog.csdn.net/shihuacai/article/details/8856407线程
Semaphore 信号量,做用是限定只有抢到信号的线程才能执行,其余的都得等待!你能够设置N个信号,这样最多能够有N个线程同时执行。注意,其余的线程也在,只是挂起了。htm
详情:http://blog.csdn.net/shihuacai/article/details/8856526blog
RateLimiter guava提供的、其做用是 限制一秒内只能有N个线程执行,超过了就只能等待下一秒。注意,N是double类型。get