1 28 29 package com.caucho.util; 30 31 34 public class CyclicBarrier { 35 private int _parties; 36 private int _waiting; 37 38 public CyclicBarrier(int parties) 39 { 40 _parties = parties; 41 } 42 43 46 public int await() 47 throws InterruptedException  48 { 49 synchronized (this) { 50 if (++_waiting == _parties) { 51 _waiting = 0; 52 notifyAll(); 53 } 54 else { 55 wait(600 * 1000); 56 } 57 } 58 59 return _parties; 60 } 61 } 62 | Popular Tags |