## com.google.common.util.concurrent
Class Uninterruptibles

    java.lang.Object
      com.google.common.util.concurrent.Uninterruptibles

    @Beta
    public final class Uninterruptibles

extends Object

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 Summary
`static void` `awaitUninterruptibly(CountDownLatch latch)` Invokes `latch.` `await()` uninterruptibly.
`static boolean` `awaitUninterruptibly(CountDownLatch latch, long timeout, TimeUnit unit)` Invokes `latch.` `await(timeout, unit)` uninterruptibly.

`static

`<V> V`

`

`getUninterruptibly(Future<V> future)`
Invokes `future.` `get()` uninterruptibly.

`static

`<V> V`

`

`getUninterruptibly(Future<V> future, long timeout, TimeUnit unit)`
Invokes `future.` `get(timeout, unit)` uninterruptibly.

`static void` `joinUninterruptibly(Thread toJoin)` Invokes `toJoin.` `join()` uninterruptibly.
`static void` `joinUninterruptibly(Thread toJoin, long timeout, TimeUnit unit)` Invokes `unit.` `timedJoin(toJoin, timeout)` uninterruptibly.

`static

`<E> void`

`

`putUninterruptibly(BlockingQueue<E> queue, E element)`
Invokes `queue.` `put(element)` uninterruptibly.

`static void` `sleepUninterruptibly(long sleepFor, TimeUnit unit)` Invokes `unit.` `sleep(sleepFor)` uninterruptibly.

`static

`<E> E`

`

`takeUninterruptibly(BlockingQueue<E> queue)`
Invokes `queue.` `take()` uninterruptibly.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### awaitUninterruptibly

    public static void awaitUninterruptibly(CountDownLatch latch)

  Invokes `latch.` `await()` uninterruptibly.

### awaitUninterruptibly

    public static boolean awaitUninterruptibly(CountDownLatch latch,
                                               long timeout,
                                               TimeUnit unit)

  Invokes `latch.` `await(timeout, unit)` uninterruptibly.

### joinUninterruptibly

    public static void joinUninterruptibly(Thread toJoin)

  Invokes `toJoin.` `join()` uninterruptibly.

### getUninterruptibly

    public static <V> V getUninterruptibly(Future<V> future)
                                throws ExecutionException

  Invokes `future.` `get()` uninterruptibly. To get uninterruptibility and remove checked exceptions, see `Futures.getUnchecked(java.util.concurrent.Future<V>)`.

  If instead, you wish to treat `InterruptedException` uniformly with other exceptions, see `Futures.get` or `Futures.makeChecked(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.base.Function<java.lang.Exception, X>)`.

  Throws:
    `ExecutionException`

### getUninterruptibly

    public static <V> V getUninterruptibly(Future<V> future,
                                           long timeout,
                                           TimeUnit unit)
                                throws ExecutionException,
                                       TimeoutException

  Invokes `future.` `get(timeout, unit)` uninterruptibly.

  If instead, you wish to treat `InterruptedException` uniformly with other exceptions, see `Futures.get` or `Futures.makeChecked(com.google.common.util.concurrent.ListenableFuture<V>, com.google.common.base.Function<java.lang.Exception, X>)`.

  Throws:
    `ExecutionException`
    `TimeoutException`

### joinUninterruptibly

    public static void joinUninterruptibly(Thread toJoin,
                                           long timeout,
                                           TimeUnit unit)

  Invokes `unit.` `timedJoin(toJoin, timeout)` uninterruptibly.

### takeUninterruptibly

    public static <E> E takeUninterruptibly(BlockingQueue<E> queue)

  Invokes `queue.` `take()` uninterruptibly.

### putUninterruptibly

    public static <E> void putUninterruptibly(BlockingQueue<E> queue,
                                              E element)

  Invokes `queue.` `put(element)` uninterruptibly.

### sleepUninterruptibly

    public static void sleepUninterruptibly(long sleepFor,
                                            TimeUnit unit)

  Invokes `unit.` `sleep(sleepFor)` uninterruptibly.

Copyright © 2010-2012. All Rights Reserved.