A cyclic barrier is one more synchronization mechanism where all threads need to wait at a point before any can proceed.Â
A real-life example should make it clear. Three long-time friends happen to be in the same city on business, and they plan to have dinner together, and then go and see a movie, just to relive old times.
One of them is going to take a car, and they happen to be the nearest to the restaurant. So, they arrive quickly and wait at the venue. The other buddies are taking a train and a bus, respectively, so everyone waits for the other(s) to arrive.Â
Once everyone arrives, the dinner can begin. This agreement of waiting upon other buddies to join, and then only begin the fun, is a barrier: Â
After the dinner is over, and as people eat at different rates, not everyone finishes at the same time. So, again, they wait...