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