Monitoring a Phaser class
One of the most complex and powerful functionalities offered by the Java Concurrency API is the ability to execute concurrent-phased tasks using the Phaser
class. This mechanism is useful when we have some concurrent tasks divided into steps. The Phaser
class provides the mechanism to synchronize threads at the end of each step so no thread starts its second step until all the threads have finished the first one.
In this recipe, you will learn what information you can obtain about the status of a Phaser
class and how to obtain that information.
Getting ready
The example of this recipe has been implemented using the Eclipse IDE. If you use Eclipse or a different IDE, such as NetBeans, open it and create a new Java project.
How to do it...
Follow these steps to implement the example:
- Create a class named
Task
that implements theRunnable
interface:
public class Task implements Runnable {
- Declare a private
int
attribute namedtime
:
private final int time;
- Declare...