Class Uninterruptibles
java.lang.Object
com.google.common.util.concurrent.Uninterruptibles
Utilities for treating interruptible operations as uninterruptible. In all cases, if a thread is
 interrupted during such a call, the call continues to block until the result is available or the
 timeout elapses, and only then re-interrupts the thread.
- Since:
- 10.0
- Author:
- Anthony Zana
- 
Method SummaryModifier and TypeMethodDescriptionstatic voidInvokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly with no timeout.static booleanawaitTerminationUninterruptibly(ExecutorService executor, long timeout, TimeUnit unit) Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.static booleanawaitTerminationUninterruptibly(ExecutorService executor, Duration timeout) Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.static voidInvokeslatch.await()uninterruptibly.static booleanawaitUninterruptibly(CountDownLatch latch, long timeout, TimeUnit unit) Invokeslatch.await(timeout, unit)uninterruptibly.static booleanawaitUninterruptibly(CountDownLatch latch, Duration timeout) Invokeslatch.await(timeout, unit)uninterruptibly.static booleanawaitUninterruptibly(Condition condition, long timeout, TimeUnit unit) Invokescondition.await(timeout, unit)uninterruptibly.static booleanawaitUninterruptibly(Condition condition, Duration timeout) Invokescondition.await(timeout, unit)uninterruptibly.getUninterruptibly(Future<V> future) Invokesfuture.get()uninterruptibly.getUninterruptibly(Future<V> future, long timeout, TimeUnit unit) Invokesfuture.get(timeout, unit)uninterruptibly.getUninterruptibly(Future<V> future, Duration timeout) Invokesfuture.get(timeout, unit)uninterruptibly.static voidjoinUninterruptibly(Thread toJoin) InvokestoJoin.join()uninterruptibly.static voidjoinUninterruptibly(Thread toJoin, long timeout, TimeUnit unit) Invokesunit.timedJoin(toJoin, timeout)uninterruptibly.static voidjoinUninterruptibly(Thread toJoin, Duration timeout) Invokesunit.timedJoin(toJoin, timeout)uninterruptibly.static <E> voidputUninterruptibly(BlockingQueue<E> queue, E element) Invokesqueue.put(element)uninterruptibly.static voidsleepUninterruptibly(long sleepFor, TimeUnit unit) Invokesunit.sleep(sleepFor)uninterruptibly.static voidsleepUninterruptibly(Duration sleepFor) Invokesunit.sleep(sleepFor)uninterruptibly.static <E> EtakeUninterruptibly(BlockingQueue<E> queue) Invokesqueue.take()uninterruptibly.static booleantryAcquireUninterruptibly(Semaphore semaphore, int permits, long timeout, TimeUnit unit) Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.static booleantryAcquireUninterruptibly(Semaphore semaphore, int permits, Duration timeout) Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.static booleantryAcquireUninterruptibly(Semaphore semaphore, long timeout, TimeUnit unit) Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.static booleantryAcquireUninterruptibly(Semaphore semaphore, Duration timeout) Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.static booleantryLockUninterruptibly(Lock lock, long timeout, TimeUnit unit) Invokeslock.tryLock(timeout, unit)uninterruptibly.static booleantryLockUninterruptibly(Lock lock, Duration timeout) Invokeslock.tryLock(timeout, unit)uninterruptibly.
- 
Method Details- 
awaitUninterruptiblyInvokeslatch.await()uninterruptibly.
- 
awaitUninterruptiblyInvokeslatch.await(timeout, unit)uninterruptibly.- Since:
- 33.4.0 (but since 28.0 in the JRE flavor)
 
- 
awaitUninterruptibly@GwtIncompatible public static boolean awaitUninterruptibly(CountDownLatch latch, long timeout, TimeUnit unit) Invokeslatch.await(timeout, unit)uninterruptibly.
- 
awaitUninterruptiblyInvokescondition.await(timeout, unit)uninterruptibly.- Since:
- 33.4.0 (but since 28.0 in the JRE flavor)
 
- 
awaitUninterruptibly@GwtIncompatible public static boolean awaitUninterruptibly(Condition condition, long timeout, TimeUnit unit) Invokescondition.await(timeout, unit)uninterruptibly.- Since:
- 23.6
 
- 
joinUninterruptiblyInvokestoJoin.join()uninterruptibly.
- 
joinUninterruptiblyInvokesunit.timedJoin(toJoin, timeout)uninterruptibly.- Since:
- 33.4.0 (but since 28.0 in the JRE flavor)
 
- 
joinUninterruptiblyInvokesunit.timedJoin(toJoin, timeout)uninterruptibly.
- 
getUninterruptibly@CanIgnoreReturnValue public static <V extends @Nullable Object> V getUninterruptibly(Future<V> future) throws ExecutionException Invokesfuture.get()uninterruptibly.Similar methods: - To retrieve a result from a Futurethat is already done, useFutures.getDone.
- To treat InterruptedExceptionuniformly with other exceptions, useFutures.getChecked.
- To get uninterruptibility and remove checked exceptions, use Futures.getUnchecked(java.util.concurrent.Future<V>).
 - Throws:
- ExecutionException- if the computation threw an exception
- CancellationException- if the computation was cancelled
 
- To retrieve a result from a 
- 
getUninterruptibly@CanIgnoreReturnValue @GwtIncompatible public static <V extends @Nullable Object> V getUninterruptibly(Future<V> future, Duration timeout) throws ExecutionException, TimeoutException Invokesfuture.get(timeout, unit)uninterruptibly.Similar methods: - To retrieve a result from a Futurethat is already done, useFutures.getDone.
- To treat InterruptedExceptionuniformly with other exceptions, useFutures.getChecked.
- To get uninterruptibility and remove checked exceptions, use Futures.getUnchecked(java.util.concurrent.Future<V>).
 - Throws:
- ExecutionException- if the computation threw an exception
- CancellationException- if the computation was cancelled
- TimeoutException- if the wait timed out
- Since:
- 33.4.0 (but since 28.0 in the JRE flavor)
 
- To retrieve a result from a 
- 
getUninterruptibly@CanIgnoreReturnValue @GwtIncompatible public static <V extends @Nullable Object> V getUninterruptibly(Future<V> future, long timeout, TimeUnit unit) throws ExecutionException, TimeoutException Invokesfuture.get(timeout, unit)uninterruptibly.Similar methods: - To retrieve a result from a Futurethat is already done, useFutures.getDone.
- To treat InterruptedExceptionuniformly with other exceptions, useFutures.getChecked.
- To get uninterruptibility and remove checked exceptions, use Futures.getUnchecked(java.util.concurrent.Future<V>).
 - Throws:
- ExecutionException- if the computation threw an exception
- CancellationException- if the computation was cancelled
- TimeoutException- if the wait timed out
 
- To retrieve a result from a 
- 
takeUninterruptiblyInvokesqueue.take()uninterruptibly.
- 
putUninterruptiblyInvokesqueue.put(element)uninterruptibly.- Throws:
- ClassCastException- if the class of the specified element prevents it from being added to the given queue
- IllegalArgumentException- if some property of the specified element prevents it from being added to the given queue
 
- 
sleepUninterruptiblyInvokesunit.sleep(sleepFor)uninterruptibly.- Since:
- 33.4.0 (but since 28.0 in the JRE flavor)
 
- 
sleepUninterruptiblyInvokesunit.sleep(sleepFor)uninterruptibly.
- 
tryAcquireUninterruptibly@GwtIncompatible public static boolean tryAcquireUninterruptibly(Semaphore semaphore, Duration timeout) Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.- Since:
- 33.4.0 (but since 28.0 in the JRE flavor)
 
- 
tryAcquireUninterruptibly@GwtIncompatible public static boolean tryAcquireUninterruptibly(Semaphore semaphore, long timeout, TimeUnit unit) Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.- Since:
- 18.0
 
- 
tryAcquireUninterruptibly@GwtIncompatible public static boolean tryAcquireUninterruptibly(Semaphore semaphore, int permits, Duration timeout) Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.- Since:
- 33.4.0 (but since 28.0 in the JRE flavor)
 
- 
tryAcquireUninterruptibly@GwtIncompatible public static boolean tryAcquireUninterruptibly(Semaphore semaphore, int permits, long timeout, TimeUnit unit) Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.- Since:
- 18.0
 
- 
tryLockUninterruptiblyInvokeslock.tryLock(timeout, unit)uninterruptibly.- Since:
- 33.4.0 (but since 30.0 in the JRE flavor)
 
- 
tryLockUninterruptibly@GwtIncompatible public static boolean tryLockUninterruptibly(Lock lock, long timeout, TimeUnit unit) Invokeslock.tryLock(timeout, unit)uninterruptibly.- Since:
- 30.0
 
- 
awaitTerminationUninterruptiblyInvokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly with no timeout.- Since:
- 30.0
 
- 
awaitTerminationUninterruptibly@GwtIncompatible public static boolean awaitTerminationUninterruptibly(ExecutorService executor, Duration timeout) Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.- Since:
- 33.4.0 (but since 30.0 in the JRE flavor)
 
- 
awaitTerminationUninterruptibly@GwtIncompatible public static boolean awaitTerminationUninterruptibly(ExecutorService executor, long timeout, TimeUnit unit) Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.- Since:
- 30.0
 
 
-