public boolean isListening() { return listenGate.isSignaled(); }
public boolean isTerminated() { return shuttingDown && shutdown.isSignaled(); }
public boolean isListening() { return listenGate.isSignaled(); }
public boolean isTerminated() { return shuttingDown && shutdown.isSignaled(); }
public boolean isListening() { return listenGate.isSignaled(); }
public boolean isListening() { return listenGate.isSignaled(); }
public boolean isTerminated() { return shuttingDown && shutdown.isSignaled(); }
public boolean isTerminated() { return shuttingDown && shutdown.isSignaled(); }
public void await() throws InterruptedException { if (isSignaled()) return; if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) s.cancel(); else s.await(); assert isSignaled(); }
public void await() throws InterruptedException { if (isSignaled()) return; if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) s.cancel(); else s.await(); assert isSignaled(); }
public void await() throws InterruptedException { if (isSignaled()) return; if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) s.cancel(); else s.await(); assert isSignaled(); }
public void await() throws InterruptedException { if (isSignaled()) return; if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) s.cancel(); else s.await(); assert isSignaled(); }
public void await() throws InterruptedException { if (isSignaled()) return; if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) s.cancel(); else s.await(); assert isSignaled(); }
public boolean await(long time, TimeUnit unit) throws InterruptedException { if (isSignaled()) return true; long start = System.nanoTime(); long until = start + unit.toNanos(time); if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) { s.cancel(); return true; } return s.awaitUntil(until) || isSignaled(); }
public boolean await(long time, TimeUnit unit) throws InterruptedException { if (isSignaled()) return true; long start = System.nanoTime(); long until = start + unit.toNanos(time); if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) { s.cancel(); return true; } return s.awaitUntil(until) || isSignaled(); }
public boolean await(long time, TimeUnit unit) throws InterruptedException { if (isSignaled()) return true; long start = System.nanoTime(); long until = start + unit.toNanos(time); if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) { s.cancel(); return true; } return s.awaitUntil(until) || isSignaled(); }
public boolean await(long time, TimeUnit unit) throws InterruptedException { if (isSignaled()) return true; long start = System.nanoTime(); long until = start + unit.toNanos(time); if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) { s.cancel(); return true; } return s.awaitUntil(until) || isSignaled(); }
public boolean await(long time, TimeUnit unit) throws InterruptedException { if (isSignaled()) return true; long start = System.nanoTime(); long until = start + unit.toNanos(time); if (waiting == null) waitingUpdater.compareAndSet(this, null, new WaitQueue()); WaitQueue.Signal s = waiting.register(); if (isSignaled()) { s.cancel(); return true; } return s.awaitUntil(until) || isSignaled(); }