212. Phasers

A phaser is a flexible Java synchronizer that combines the functionalities of CyclicBarrier and CountDownLatch in the following context:

  • A phaser is made of one or multiple phases that act as barriers for a dynamic number of parties (threads).
  • During a phaser lifespan, the number of synchronized parties (threads) can be modified dynamically. We can register/deregister parties.
  • The currently-registered parties must wait in the current phase (barrier) before going to the next step of execution (next phase)—as in the case of CyclicBarrier.
  • Each phase of a phaser can be identified via an associated number/index starting from 0. The first phase is 0, the next phase is 1, the next phase is 2, and so on until Integer.MAX_VALUE.
  • A phaser ...

Get Java Coding Problems 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.