Class Uninterruptibles
- java.lang.Object
-
- com.google.common.util.concurrent.Uninterruptibles
-
public final class Uninterruptibles extends java.lang.ObjectUtilities 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
-
-
Constructor Summary
Constructors Modifier Constructor Description privateUninterruptibles()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidawaitTerminationUninterruptibly(java.util.concurrent.ExecutorService executor)Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly with no timeout.static booleanawaitTerminationUninterruptibly(java.util.concurrent.ExecutorService executor, long timeout, java.util.concurrent.TimeUnit unit)Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.static booleanawaitTerminationUninterruptibly(java.util.concurrent.ExecutorService executor, java.time.Duration timeout)Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.static voidawaitUninterruptibly(java.util.concurrent.CountDownLatch latch)Invokeslatch.await()uninterruptibly.static booleanawaitUninterruptibly(java.util.concurrent.CountDownLatch latch, long timeout, java.util.concurrent.TimeUnit unit)Invokeslatch.await(timeout, unit)uninterruptibly.static booleanawaitUninterruptibly(java.util.concurrent.CountDownLatch latch, java.time.Duration timeout)Invokeslatch.await(timeout, unit)uninterruptibly.static booleanawaitUninterruptibly(java.util.concurrent.locks.Condition condition, long timeout, java.util.concurrent.TimeUnit unit)Invokescondition.await(timeout, unit)uninterruptibly.static booleanawaitUninterruptibly(java.util.concurrent.locks.Condition condition, java.time.Duration timeout)Invokescondition.await(timeout, unit)uninterruptibly.static <V> VgetUninterruptibly(java.util.concurrent.Future<V> future)Invokesfuture.get()uninterruptibly.static <V> VgetUninterruptibly(java.util.concurrent.Future<V> future, long timeout, java.util.concurrent.TimeUnit unit)Invokesfuture.get(timeout, unit)uninterruptibly.static <V> VgetUninterruptibly(java.util.concurrent.Future<V> future, java.time.Duration timeout)Invokesfuture.get(timeout, unit)uninterruptibly.static voidjoinUninterruptibly(java.lang.Thread toJoin)InvokestoJoin.join()uninterruptibly.static voidjoinUninterruptibly(java.lang.Thread toJoin, long timeout, java.util.concurrent.TimeUnit unit)Invokesunit.timedJoin(toJoin, timeout)uninterruptibly.static voidjoinUninterruptibly(java.lang.Thread toJoin, java.time.Duration timeout)Invokesunit.timedJoin(toJoin, timeout)uninterruptibly.static <E> voidputUninterruptibly(java.util.concurrent.BlockingQueue<E> queue, E element)Invokesqueue.put(element)uninterruptibly.static voidsleepUninterruptibly(long sleepFor, java.util.concurrent.TimeUnit unit)Invokesunit.sleep(sleepFor)uninterruptibly.static voidsleepUninterruptibly(java.time.Duration sleepFor)Invokesunit.sleep(sleepFor)uninterruptibly.static <E> EtakeUninterruptibly(java.util.concurrent.BlockingQueue<E> queue)Invokesqueue.take()uninterruptibly.static booleantryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, int permits, long timeout, java.util.concurrent.TimeUnit unit)Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.static booleantryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, int permits, java.time.Duration timeout)Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.static booleantryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, long timeout, java.util.concurrent.TimeUnit unit)Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.static booleantryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, java.time.Duration timeout)Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.static booleantryLockUninterruptibly(java.util.concurrent.locks.Lock lock, long timeout, java.util.concurrent.TimeUnit unit)Invokeslock.tryLock(timeout, unit)uninterruptibly.static booleantryLockUninterruptibly(java.util.concurrent.locks.Lock lock, java.time.Duration timeout)Invokeslock.tryLock(timeout, unit)uninterruptibly.
-
-
-
Method Detail
-
awaitUninterruptibly
public static void awaitUninterruptibly(java.util.concurrent.CountDownLatch latch)
Invokeslatch.await()uninterruptibly.
-
awaitUninterruptibly
public static boolean awaitUninterruptibly(java.util.concurrent.CountDownLatch latch, java.time.Duration timeout)Invokeslatch.await(timeout, unit)uninterruptibly.- Since:
- 28.0
-
awaitUninterruptibly
public static boolean awaitUninterruptibly(java.util.concurrent.CountDownLatch latch, long timeout, java.util.concurrent.TimeUnit unit)Invokeslatch.await(timeout, unit)uninterruptibly.
-
awaitUninterruptibly
public static boolean awaitUninterruptibly(java.util.concurrent.locks.Condition condition, java.time.Duration timeout)Invokescondition.await(timeout, unit)uninterruptibly.- Since:
- 28.0
-
awaitUninterruptibly
public static boolean awaitUninterruptibly(java.util.concurrent.locks.Condition condition, long timeout, java.util.concurrent.TimeUnit unit)Invokescondition.await(timeout, unit)uninterruptibly.- Since:
- 23.6
-
joinUninterruptibly
public static void joinUninterruptibly(java.lang.Thread toJoin)
InvokestoJoin.join()uninterruptibly.
-
joinUninterruptibly
public static void joinUninterruptibly(java.lang.Thread toJoin, java.time.Duration timeout)Invokesunit.timedJoin(toJoin, timeout)uninterruptibly.- Since:
- 28.0
-
joinUninterruptibly
public static void joinUninterruptibly(java.lang.Thread toJoin, long timeout, java.util.concurrent.TimeUnit unit)Invokesunit.timedJoin(toJoin, timeout)uninterruptibly.
-
getUninterruptibly
public static <V> V getUninterruptibly(java.util.concurrent.Future<V> future) throws java.util.concurrent.ExecutionExceptionInvokesfuture.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:
java.util.concurrent.ExecutionException- if the computation threw an exceptionjava.util.concurrent.CancellationException- if the computation was cancelled
- To retrieve a result from a
-
getUninterruptibly
public static <V> V getUninterruptibly(java.util.concurrent.Future<V> future, java.time.Duration timeout) throws java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutExceptionInvokesfuture.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:
java.util.concurrent.ExecutionException- if the computation threw an exceptionjava.util.concurrent.CancellationException- if the computation was cancelledjava.util.concurrent.TimeoutException- if the wait timed out- Since:
- 28.0
- To retrieve a result from a
-
getUninterruptibly
public static <V> V getUninterruptibly(java.util.concurrent.Future<V> future, long timeout, java.util.concurrent.TimeUnit unit) throws java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutExceptionInvokesfuture.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:
java.util.concurrent.ExecutionException- if the computation threw an exceptionjava.util.concurrent.CancellationException- if the computation was cancelledjava.util.concurrent.TimeoutException- if the wait timed out
- To retrieve a result from a
-
takeUninterruptibly
public static <E> E takeUninterruptibly(java.util.concurrent.BlockingQueue<E> queue)
Invokesqueue.take()uninterruptibly.
-
putUninterruptibly
public static <E> void putUninterruptibly(java.util.concurrent.BlockingQueue<E> queue, E element)Invokesqueue.put(element)uninterruptibly.- Throws:
java.lang.ClassCastException- if the class of the specified element prevents it from being added to the given queuejava.lang.IllegalArgumentException- if some property of the specified element prevents it from being added to the given queue
-
sleepUninterruptibly
public static void sleepUninterruptibly(java.time.Duration sleepFor)
Invokesunit.sleep(sleepFor)uninterruptibly.- Since:
- 28.0
-
sleepUninterruptibly
public static void sleepUninterruptibly(long sleepFor, java.util.concurrent.TimeUnit unit)Invokesunit.sleep(sleepFor)uninterruptibly.
-
tryAcquireUninterruptibly
public static boolean tryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, java.time.Duration timeout)Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.- Since:
- 28.0
-
tryAcquireUninterruptibly
public static boolean tryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, long timeout, java.util.concurrent.TimeUnit unit)Invokessemaphore.tryAcquire(1, timeout, unit)uninterruptibly.- Since:
- 18.0
-
tryAcquireUninterruptibly
public static boolean tryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, int permits, java.time.Duration timeout)Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.- Since:
- 28.0
-
tryAcquireUninterruptibly
public static boolean tryAcquireUninterruptibly(java.util.concurrent.Semaphore semaphore, int permits, long timeout, java.util.concurrent.TimeUnit unit)Invokessemaphore.tryAcquire(permits, timeout, unit)uninterruptibly.- Since:
- 18.0
-
tryLockUninterruptibly
public static boolean tryLockUninterruptibly(java.util.concurrent.locks.Lock lock, java.time.Duration timeout)Invokeslock.tryLock(timeout, unit)uninterruptibly.- Since:
- 30.0
-
tryLockUninterruptibly
public static boolean tryLockUninterruptibly(java.util.concurrent.locks.Lock lock, long timeout, java.util.concurrent.TimeUnit unit)Invokeslock.tryLock(timeout, unit)uninterruptibly.- Since:
- 30.0
-
awaitTerminationUninterruptibly
public static void awaitTerminationUninterruptibly(java.util.concurrent.ExecutorService executor)
Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly with no timeout.- Since:
- 30.0
-
awaitTerminationUninterruptibly
public static boolean awaitTerminationUninterruptibly(java.util.concurrent.ExecutorService executor, java.time.Duration timeout)Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.- Since:
- 30.0
-
awaitTerminationUninterruptibly
public static boolean awaitTerminationUninterruptibly(java.util.concurrent.ExecutorService executor, long timeout, java.util.concurrent.TimeUnit unit)Invokesexecutor.awaitTermination(long, TimeUnit)uninterruptibly.- Since:
- 30.0
-
-