JAVA-24259 | small refactor for readability (#14602)
This commit is contained in:
committed by
GitHub
parent
fad32db315
commit
1f98b51b8f
+19
-13
@@ -7,31 +7,37 @@ import java.util.concurrent.Phaser;
|
||||
|
||||
class LongRunningAction implements Runnable {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(LongRunningAction.class);
|
||||
private String threadName;
|
||||
private Phaser ph;
|
||||
private static final Logger log = LoggerFactory.getLogger(LongRunningAction.class);
|
||||
private final String threadName;
|
||||
private final Phaser ph;
|
||||
|
||||
LongRunningAction(String threadName, Phaser ph) {
|
||||
this.threadName = threadName;
|
||||
this.ph = ph;
|
||||
|
||||
this.randomWait();
|
||||
|
||||
ph.register();
|
||||
log.info("Thread {} registered during phase {}", threadName, ph.getPhase());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
log.info("This is phase {}", ph.getPhase());
|
||||
log.info("Thread {} before long running action", threadName);
|
||||
|
||||
log.info("Thread {} BEFORE long running action in phase {}", threadName, ph.getPhase());
|
||||
ph.arriveAndAwaitAdvance();
|
||||
|
||||
randomWait();
|
||||
|
||||
log.info("Thread {} AFTER long running action in phase {}", threadName, ph.getPhase());
|
||||
ph.arriveAndDeregister();
|
||||
}
|
||||
|
||||
// Simulating real work
|
||||
private void randomWait() {
|
||||
try {
|
||||
Thread.sleep(2000);
|
||||
Thread.sleep((long) (Math.random() * 100));
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
log.debug("Thread {} action completed and waiting for others", threadName);
|
||||
ph.arriveAndAwaitAdvance();
|
||||
log.debug("Thread {} proceeding in phase {}", threadName, ph.getPhase());
|
||||
|
||||
ph.arriveAndDeregister();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user