There's more...

The CyclicBarrier class has another version of the await() method:

  • await(long time, TimeUnit unit): In this method, the thread will continue to sleep until it's interrupted, that is, either the internal counter of CyclicBarrier arrives at 0 or the specified time passes. The TimeUnit class is an enumeration with the following constants: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS, and SECONDS.

This class also provides the getNumberWaiting() method that returns the number of threads that are blocked in the await() method and the getParties() method that returns the number of tasks that are going to be synchronized with CyclicBarrier.

Get Java 9 Concurrency Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.