## Uses of Class
java.lang.InterruptedException

- Packages that use InterruptedException
  Package | Description
  --- | ---
  java.lang |
  java.lang.ref | Provides reference-object classes, which support a limited degree of interaction with the garbage collector.
  java.util.concurrent | Utility classes commonly useful in concurrent programming.
  java.util.concurrent.locks | Interfaces and classes providing a framework for locking and waiting for conditions that is distinct from built-in synchronization and monitors.

- - ### Uses of InterruptedException in java.lang

    Methods in java.lang that throw InterruptedException
    Modifier and Type | Method and Description
    --- | ---
    `void` | Thread.`join()` Waits for this thread to die.
    `void` | Thread.`join(long millis)` Waits at most `millis` milliseconds for this thread to die.
    `void` | Thread.`join(long millis, int nanos)` Waits at most `millis` milliseconds plus `nanos` nanoseconds for this thread to die.
    `static void` | Thread.`sleep(long millis)` Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds, subject to the precision and accuracy of system timers and schedulers.
    `static void` | Thread.`sleep(long millis, int nanos)` Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds plus the specified number of nanoseconds, subject to the precision and accuracy of system timers and schedulers.
    `void` | Object.`wait()` Causes the current thread to wait until another thread invokes the `Object.notify()` method or the `Object.notifyAll()` method for this object.
    `void` | Object.`wait(long timeout)` Causes the current thread to wait until either another thread invokes the `Object.notify()` method or the `Object.notifyAll()` method for this object, or a specified amount of time has elapsed.
    `void` | Object.`wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `Object.notify()` method or the `Object.notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

  - ### Uses of InterruptedException in java.lang.ref

    Methods in java.lang.ref that throw InterruptedException
    Modifier and Type | Method and Description
    --- | ---
    `Reference<? extends T>` | ReferenceQueue.`remove()` Removes the next reference object in this queue, blocking until one becomes available.
    `Reference<? extends T>` | ReferenceQueue.`remove(long timeout)` Removes the next reference object in this queue, blocking until either one becomes available or the given timeout period expires.

  - ### Uses of InterruptedException in java.util.concurrent

    Methods in java.util.concurrent that throw InterruptedException
    Modifier and Type | Method and Description
    --- | ---
    `void` | Semaphore.`acquire()` Acquires a permit from this semaphore, blocking until one is available, or the thread is interrupted.
    `void` | Semaphore.`acquire(int permits)` Acquires the given number of permits from this semaphore, blocking until all are available, or the thread is interrupted.
    `int` | CyclicBarrier.`await()` Waits until all parties have invoked `await` on this barrier.
    `void` | CountDownLatch.`await()` Causes the current thread to wait until the latch has counted down to zero, unless the thread is interrupted.
    `int` | CyclicBarrier.`await(long timeout, TimeUnit unit)` Waits until all parties have invoked `await` on this barrier, or the specified waiting time elapses.
    `boolean` | CountDownLatch.`await(long timeout, TimeUnit unit)` Causes the current thread to wait until the latch has counted down to zero, unless the thread is interrupted, or the specified waiting time elapses.
    `int` | Phaser.`awaitAdvanceInterruptibly(int phase)` Awaits the phase of this phaser to advance from the given phase value, throwing `InterruptedException` if interrupted while waiting, or returning immediately if the current phase is not equal to the given phase value or this phaser is terminated.
    `int` | Phaser.`awaitAdvanceInterruptibly(int phase, long timeout, TimeUnit unit)` Awaits the phase of this phaser to advance from the given phase value or the given timeout to elapse, throwing `InterruptedException` if interrupted while waiting, or returning immediately if the current phase is not equal to the given phase value or this phaser is terminated.
    `boolean` | ThreadPoolExecutor.`awaitTermination(long timeout, TimeUnit unit)`
    `boolean` | ForkJoinPool.`awaitTermination(long timeout, TimeUnit unit)` Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.
    `boolean` | ExecutorService.`awaitTermination(long timeout, TimeUnit unit)` Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs, or the current thread is interrupted, whichever happens first.
    `boolean` | ForkJoinPool.ManagedBlocker.`block()` Possibly blocks the current thread, for example waiting for a lock or condition.
    `V` | Exchanger.`exchange(V x)` Waits for another thread to arrive at this exchange point (unless the current thread is interrupted), and then transfers the given object to it, receiving its object in return.
    `V` | Exchanger.`exchange(V x, long timeout, TimeUnit unit)` Waits for another thread to arrive at this exchange point (unless the current thread is interrupted or the specified waiting time elapses), and then transfers the given object to it, receiving its object in return.
    `V` | FutureTask.`get()`
    `V` | Future.`get()` Waits if necessary for the computation to complete, and then retrieves its result.
    `V` | ForkJoinTask.`get()` Waits if necessary for the computation to complete, and then retrieves its result.
    `V` | FutureTask.`get(long timeout, TimeUnit unit)`
    `V` | Future.`get(long timeout, TimeUnit unit)` Waits if necessary for at most the given time for the computation to complete, and then retrieves its result, if available.
    `V` | ForkJoinTask.`get(long timeout, TimeUnit unit)` Waits if necessary for at most the given time for the computation to complete, and then retrieves its result, if available.
    `<T> List<Future<T>>` | ExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks)` Executes the given tasks, returning a list of Futures holding their status and results when all complete.
    `<T> List<Future<T>>` | AbstractExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks)`
    `<T> List<Future<T>>` | ExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)` Executes the given tasks, returning a list of Futures holding their status and results when all complete or the timeout expires, whichever happens first.
    `<T> List<Future<T>>` | AbstractExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
    `<T> T` | ExecutorService.`invokeAny(Collection<? extends Callable<T>> tasks)` Executes the given tasks, returning the result of one that has completed successfully (i.e., without throwing an exception), if any do.
    `<T> T` | AbstractExecutorService.`invokeAny(Collection<? extends Callable<T>> tasks)`
    `<T> T` | ExecutorService.`invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)` Executes the given tasks, returning the result of one that has completed successfully (i.e., without throwing an exception), if any do before the given timeout elapses.
    `<T> T` | AbstractExecutorService.`invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
    `static void` | ForkJoinPool.`managedBlock(ForkJoinPool.ManagedBlocker blocker)` Blocks in accord with the given blocker.
    `boolean` | SynchronousQueue.`offer(E o, long timeout, TimeUnit unit)` Inserts the specified element into this queue, waiting if necessary up to the specified wait time for another thread to receive it.
    `boolean` | LinkedBlockingQueue.`offer(E e, long timeout, TimeUnit unit)` Inserts the specified element at the tail of this queue, waiting if necessary up to the specified wait time for space to become available.
    `boolean` | LinkedBlockingDeque.`offer(E e, long timeout, TimeUnit unit)`
    `boolean` | BlockingQueue.`offer(E e, long timeout, TimeUnit unit)` Inserts the specified element into this queue, waiting up to the specified wait time if necessary for space to become available.
    `boolean` | BlockingDeque.`offer(E e, long timeout, TimeUnit unit)` Inserts the specified element into the queue represented by this deque (in other words, at the tail of this deque), waiting up to the specified wait time if necessary for space to become available.
    `boolean` | ArrayBlockingQueue.`offer(E e, long timeout, TimeUnit unit)` Inserts the specified element at the tail of this queue, waiting up to the specified wait time for space to become available if the queue is full.
    `boolean` | LinkedBlockingDeque.`offerFirst(E e, long timeout, TimeUnit unit)`
    `boolean` | BlockingDeque.`offerFirst(E e, long timeout, TimeUnit unit)` Inserts the specified element at the front of this deque, waiting up to the specified wait time if necessary for space to become available.
    `boolean` | LinkedBlockingDeque.`offerLast(E e, long timeout, TimeUnit unit)`
    `boolean` | BlockingDeque.`offerLast(E e, long timeout, TimeUnit unit)` Inserts the specified element at the end of this deque, waiting up to the specified wait time if necessary for space to become available.
    `E` | SynchronousQueue.`poll(long timeout, TimeUnit unit)` Retrieves and removes the head of this queue, waiting if necessary up to the specified wait time, for another thread to insert it.
    `E` | PriorityBlockingQueue.`poll(long timeout, TimeUnit unit)`
    `E` | LinkedTransferQueue.`poll(long timeout, TimeUnit unit)`
    `E` | LinkedBlockingQueue.`poll(long timeout, TimeUnit unit)`
    `E` | LinkedBlockingDeque.`poll(long timeout, TimeUnit unit)`
    `Future<V>` | ExecutorCompletionService.`poll(long timeout, TimeUnit unit)`
    `E` | DelayQueue.`poll(long timeout, TimeUnit unit)` Retrieves and removes the head of this queue, waiting if necessary until an element with an expired delay is available on this queue, or the specified wait time expires.
    `Future<V>` | CompletionService.`poll(long timeout, TimeUnit unit)` Retrieves and removes the Future representing the next completed task, waiting if necessary up to the specified wait time if none are yet present.
    `E` | BlockingQueue.`poll(long timeout, TimeUnit unit)` Retrieves and removes the head of this queue, waiting up to the specified wait time if necessary for an element to become available.
    `E` | BlockingDeque.`poll(long timeout, TimeUnit unit)` Retrieves and removes the head of the queue represented by this deque (in other words, the first element of this deque), waiting up to the specified wait time if necessary for an element to become available.
    `E` | ArrayBlockingQueue.`poll(long timeout, TimeUnit unit)`
    `E` | LinkedBlockingDeque.`pollFirst(long timeout, TimeUnit unit)`
    `E` | BlockingDeque.`pollFirst(long timeout, TimeUnit unit)` Retrieves and removes the first element of this deque, waiting up to the specified wait time if necessary for an element to become available.
    `E` | LinkedBlockingDeque.`pollLast(long timeout, TimeUnit unit)`
    `E` | BlockingDeque.`pollLast(long timeout, TimeUnit unit)` Retrieves and removes the last element of this deque, waiting up to the specified wait time if necessary for an element to become available.
    `void` | SynchronousQueue.`put(E o)` Adds the specified element to this queue, waiting if necessary for another thread to receive it.
    `void` | LinkedBlockingQueue.`put(E e)` Inserts the specified element at the tail of this queue, waiting if necessary for space to become available.
    `void` | LinkedBlockingDeque.`put(E e)`
    `void` | BlockingQueue.`put(E e)` Inserts the specified element into this queue, waiting if necessary for space to become available.
    `void` | BlockingDeque.`put(E e)` Inserts the specified element into the queue represented by this deque (in other words, at the tail of this deque), waiting if necessary for space to become available.
    `void` | ArrayBlockingQueue.`put(E e)` Inserts the specified element at the tail of this queue, waiting for space to become available if the queue is full.
    `void` | LinkedBlockingDeque.`putFirst(E e)`
    `void` | BlockingDeque.`putFirst(E e)` Inserts the specified element at the front of this deque, waiting if necessary for space to become available.
    `void` | LinkedBlockingDeque.`putLast(E e)`
    `void` | BlockingDeque.`putLast(E e)` Inserts the specified element at the end of this deque, waiting if necessary for space to become available.
    `void` | TimeUnit.`sleep(long timeout)` Performs a `Thread.sleep` using this time unit.
    `E` | SynchronousQueue.`take()` Retrieves and removes the head of this queue, waiting if necessary for another thread to insert it.
    `E` | PriorityBlockingQueue.`take()`
    `E` | LinkedTransferQueue.`take()`
    `E` | LinkedBlockingQueue.`take()`
    `E` | LinkedBlockingDeque.`take()`
    `Future<V>` | ExecutorCompletionService.`take()`
    `E` | DelayQueue.`take()` Retrieves and removes the head of this queue, waiting if necessary until an element with an expired delay is available on this queue.
    `Future<V>` | CompletionService.`take()` Retrieves and removes the Future representing the next completed task, waiting if none are yet present.
    `E` | BlockingQueue.`take()` Retrieves and removes the head of this queue, waiting if necessary until an element becomes available.
    `E` | BlockingDeque.`take()` Retrieves and removes the head of the queue represented by this deque (in other words, the first element of this deque), waiting if necessary until an element becomes available.
    `E` | ArrayBlockingQueue.`take()`
    `E` | LinkedBlockingDeque.`takeFirst()`
    `E` | BlockingDeque.`takeFirst()` Retrieves and removes the first element of this deque, waiting if necessary until an element becomes available.
    `E` | LinkedBlockingDeque.`takeLast()`
    `E` | BlockingDeque.`takeLast()` Retrieves and removes the last element of this deque, waiting if necessary until an element becomes available.
    `void` | TimeUnit.`timedWait(Object obj, long timeout)` Performs a timed `Object.wait` using this time unit.
    `void` | TransferQueue.`transfer(E e)` Transfers the element to a consumer, waiting if necessary to do so.
    `void` | LinkedTransferQueue.`transfer(E e)` Transfers the element to a consumer, waiting if necessary to do so.
    `boolean` | Semaphore.`tryAcquire(int permits, long timeout, TimeUnit unit)` Acquires the given number of permits from this semaphore, if all become available within the given waiting time and the current thread has not been interrupted.
    `boolean` | Semaphore.`tryAcquire(long timeout, TimeUnit unit)` Acquires a permit from this semaphore, if one becomes available within the given waiting time and the current thread has not been interrupted.
    `boolean` | TransferQueue.`tryTransfer(E e, long timeout, TimeUnit unit)` Transfers the element to a consumer if it is possible to do so before the timeout elapses.
    `boolean` | LinkedTransferQueue.`tryTransfer(E e, long timeout, TimeUnit unit)` Transfers the element to a consumer if it is possible to do so before the timeout elapses.

  - ### Uses of InterruptedException in java.util.concurrent.locks

    Methods in java.util.concurrent.locks that throw InterruptedException
    Modifier and Type | Method and Description
    --- | ---
    `void` | AbstractQueuedSynchronizer.`acquireInterruptibly(int arg)` Acquires in exclusive mode, aborting if interrupted.
    `void` | AbstractQueuedLongSynchronizer.`acquireInterruptibly(long arg)` Acquires in exclusive mode, aborting if interrupted.
    `void` | AbstractQueuedSynchronizer.`acquireSharedInterruptibly(int arg)` Acquires in shared mode, aborting if interrupted.
    `void` | AbstractQueuedLongSynchronizer.`acquireSharedInterruptibly(long arg)` Acquires in shared mode, aborting if interrupted.
    `void` | Condition.`await()` Causes the current thread to wait until it is signalled or interrupted.
    `void` | AbstractQueuedSynchronizer.ConditionObject.`await()` Implements interruptible condition wait.
    `void` | AbstractQueuedLongSynchronizer.ConditionObject.`await()` Implements interruptible condition wait.
    `boolean` | Condition.`await(long time, TimeUnit unit)` Causes the current thread to wait until it is signalled or interrupted, or the specified waiting time elapses.
    `boolean` | AbstractQueuedSynchronizer.ConditionObject.`await(long time, TimeUnit unit)` Implements timed condition wait.
    `boolean` | AbstractQueuedLongSynchronizer.ConditionObject.`await(long time, TimeUnit unit)` Implements timed condition wait.
    `long` | Condition.`awaitNanos(long nanosTimeout)` Causes the current thread to wait until it is signalled or interrupted, or the specified waiting time elapses.
    `long` | AbstractQueuedSynchronizer.ConditionObject.`awaitNanos(long nanosTimeout)` Implements timed condition wait.
    `long` | AbstractQueuedLongSynchronizer.ConditionObject.`awaitNanos(long nanosTimeout)` Implements timed condition wait.
    `boolean` | Condition.`awaitUntil(Date deadline)` Causes the current thread to wait until it is signalled or interrupted, or the specified deadline elapses.
    `boolean` | AbstractQueuedSynchronizer.ConditionObject.`awaitUntil(Date deadline)` Implements absolute timed condition wait.
    `boolean` | AbstractQueuedLongSynchronizer.ConditionObject.`awaitUntil(Date deadline)` Implements absolute timed condition wait.
    `void` | ReentrantReadWriteLock.ReadLock.`lockInterruptibly()` Acquires the read lock unless the current thread is interrupted.
    `void` | ReentrantReadWriteLock.WriteLock.`lockInterruptibly()` Acquires the write lock unless the current thread is interrupted.
    `void` | ReentrantLock.`lockInterruptibly()` Acquires the lock unless the current thread is interrupted.
    `void` | Lock.`lockInterruptibly()` Acquires the lock unless the current thread is interrupted.
    `boolean` | AbstractQueuedSynchronizer.`tryAcquireNanos(int arg, long nanosTimeout)` Attempts to acquire in exclusive mode, aborting if interrupted, and failing if the given timeout elapses.
    `boolean` | AbstractQueuedLongSynchronizer.`tryAcquireNanos(long arg, long nanosTimeout)` Attempts to acquire in exclusive mode, aborting if interrupted, and failing if the given timeout elapses.
    `boolean` | AbstractQueuedSynchronizer.`tryAcquireSharedNanos(int arg, long nanosTimeout)` Attempts to acquire in shared mode, aborting if interrupted, and failing if the given timeout elapses.
    `boolean` | AbstractQueuedLongSynchronizer.`tryAcquireSharedNanos(long arg, long nanosTimeout)` Attempts to acquire in shared mode, aborting if interrupted, and failing if the given timeout elapses.
    `boolean` | ReentrantReadWriteLock.ReadLock.`tryLock(long timeout, TimeUnit unit)` Acquires the read lock if the write lock is not held by another thread within the given waiting time and the current thread has not been interrupted.
    `boolean` | ReentrantReadWriteLock.WriteLock.`tryLock(long timeout, TimeUnit unit)` Acquires the write lock if it is not held by another thread within the given waiting time and the current thread has not been interrupted.
    `boolean` | ReentrantLock.`tryLock(long timeout, TimeUnit unit)` Acquires the lock if it is not held by another thread within the given waiting time and the current thread has not been interrupted.
    `boolean` | Lock.`tryLock(long time, TimeUnit unit)` Acquires the lock if it is free within the given waiting time and the current thread has not been interrupted.

Copyright © 2025 API Design. All Rights Reserved.