I really find it difficult to read articles where every other word is a link, even if they try to differentiate between "actual links" and "spam links" with the dotted underline.
When would you use a CyclicBarrier in preference to (for example) splitting tasks into before-barrier and after-barrier FutureTasks and submitting to a ThreadPoolExecutor?