Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- final Phaser phaser = new Phaser(1);
- List<Runnable> runnables = getHelloWorldTasks(15);
- for (final Runnable runnable : runnables) {
- phaser.register();
- new Thread() {
- public void run() {
- runnable.run();
- if(phaser.getArrivedParties()==1) {
- int phaserNum = phaser.arrive();
- //Some Logic
- try {
- Thread.sleep(5000);
- phaser.awaitAdvance(phaserNum);
- System.out.println("After Sleep");
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- } else {
- phaser.arriveAndAwaitAdvance();
- }
- }
- }.start();
- }
- phaser.arriveAndAwaitAdvance();
- System.out.println("END");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement