# Uses of Class
java.lang.InterruptedException

Packages that use InterruptedException
Package
Description
com.sun.jdi.event
This package defines JDI events and event processing.
java.awt
Contains all of the classes for creating user interfaces and for painting graphics and images.
java.awt.image
Provides classes for creating and modifying images.
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.ref
Provides reference-object classes, which support a limited degree of interaction with the garbage collector.
java.net.http
HTTP Client and WebSocket APIs
java.nio.channels
Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
java.nio.file
Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
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.
javax.swing
Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
jdk.jfr.consumer
This package contains classes for consuming Flight Recorder data.
jdk.management.jfr
This package contains classes to control and monitor Flight Recorder over Java Management Extensions (JMX).

- ## Uses of InterruptedException in com.sun.jdi.event

  Methods in com.sun.jdi.event that throw InterruptedException
  Modifier and Type
  Method
  Description
  `EventSet`
  EventQueue.`remove()`
  Waits forever for the next available event.
  `EventSet`
  EventQueue.`remove(long timeout)`
  Waits a specified time for the next available event.

- ## Uses of InterruptedException in java.awt

  Methods in java.awt that throw InterruptedException
  Modifier and Type
  Method
  Description
  `AWTEvent`
  EventQueue.`getNextEvent()`
  Removes an event from the `EventQueue` and returns it.
  `static void`
  EventQueue.`invokeAndWait(Runnable runnable)`
  Causes `runnable` to have its `run` method called in the `dispatch thread` of `the system EventQueue`.
  `void`
  MediaTracker.`waitForAll()`
  Starts loading all images tracked by this media tracker.
  `boolean`
  MediaTracker.`waitForAll(long ms)`
  Starts loading all images tracked by this media tracker.
  `void`
  MediaTracker.`waitForID(int id)`
  Starts loading all images tracked by this media tracker with the specified identifier.
  `boolean`
  MediaTracker.`waitForID(int id, long ms)`
  Starts loading all images tracked by this media tracker with the specified identifier.

- ## Uses of InterruptedException in java.awt.image

  Methods in java.awt.image that throw InterruptedException
  Modifier and Type
  Method
  Description
  `boolean`
  PixelGrabber.`grabPixels()`
  Request the Image or ImageProducer to start delivering pixels and wait for all of the pixels in the rectangle of interest to be delivered.
  `boolean`
  PixelGrabber.`grabPixels(long ms)`
  Request the Image or ImageProducer to start delivering pixels and wait for all of the pixels in the rectangle of interest to be delivered or until the specified timeout has elapsed.

- ## Uses of InterruptedException in java.lang

  Methods in java.lang that throw InterruptedException
  Modifier and Type
  Method
  Description
  `final void`
  Thread.`join()`
  Waits for this thread to terminate.
  `final void`
  Thread.`join(long millis)`
  Waits at most `millis` milliseconds for this thread to terminate.
  `final void`
  Thread.`join(long millis, int nanos)`
  Waits at most `millis` milliseconds plus `nanos` nanoseconds for this thread to terminate.
  `final boolean`
  Thread.`join(Duration duration)`
  Waits for this thread to terminate for up to the given waiting duration.
  `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.
  `static void`
  Thread.`sleep(Duration duration)`
  Causes the currently executing thread to sleep (temporarily cease execution) for the specified duration, subject to the precision and accuracy of system timers and schedulers.
  `final void`
  Object.`wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  Object.`wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  Object.`wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `abstract int`
  Process.`waitFor()`
  Causes the current thread to wait, if necessary, until the process represented by this `Process` object has terminated.
  `boolean`
  Process.`waitFor(long timeout, TimeUnit unit)`
  Causes the current thread to wait, if necessary, until the process represented by this `Process` object has terminated, or the specified waiting time elapses.
  `boolean`
  Process.`waitFor(Duration duration)`
  Causes the current thread to wait, if necessary, until the process represented by this `Process` object has terminated, or the specified waiting duration elapses.

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

  Methods in java.lang.ref that throw InterruptedException
  Modifier and Type
  Method
  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.net.http

  Methods in java.net.http that throw InterruptedException
  Modifier and Type
  Method
  Description
  `boolean`
  HttpClient.`awaitTermination(Duration duration)`
  Blocks until all operations have completed execution after a shutdown request, or the `duration` elapses, or the current thread is interrupted, whichever happens first.
  `abstract <T> HttpResponse<T>`
  HttpClient.`send(HttpRequest request, HttpResponse.BodyHandler<T> responseBodyHandler)`
  Sends the given request using this client, blocking if necessary to get the response.

- ## Uses of InterruptedException in java.nio.channels

  Methods in java.nio.channels that throw InterruptedException
  Modifier and Type
  Method
  Description
  `abstract boolean`
  AsynchronousChannelGroup.`awaitTermination(long timeout, TimeUnit unit)`
  Awaits termination of the group.

- ## Uses of InterruptedException in java.nio.file

  Methods in java.nio.file that throw InterruptedException
  Modifier and Type
  Method
  Description
  `WatchKey`
  WatchService.`poll(long timeout, TimeUnit unit)`
  Retrieves and removes the next watch key, waiting if necessary up to the specified wait time if none are yet present.
  `WatchKey`
  WatchService.`take()`
  Retrieves and removes next watch key, waiting if none are yet present.

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

  Methods in java.util.concurrent that throw InterruptedException
  Modifier and Type
  Method
  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.
  `void`
  CountDownLatch.`await()`
  Causes the current thread to wait until the latch has counted down to zero, unless the thread is interrupted.
  `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`
  CyclicBarrier.`await()`
  Waits until all parties have invoked `await` on this barrier.
  `int`
  CyclicBarrier.`await(long timeout, TimeUnit unit)`
  Waits until all parties have invoked `await` on this barrier, 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`
  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.`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`
  ThreadPoolExecutor.`awaitTermination(long timeout, TimeUnit unit)`
  `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.
  `T`
  CompletableFuture.`get()`
  Waits if necessary for this future to complete, and then returns its result.
  `T`
  CompletableFuture.`get(long timeout, TimeUnit unit)`
  Waits if necessary for at most the given time for this future to complete, and then returns its result, if available.
  `final V`
  ForkJoinTask.`get()`
  Waits if necessary for the computation to complete, and then retrieves its result.
  `final 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.
  `V`
  Future.`get()`
  Waits if necessary for the computation to complete, and then retrieves its result.
  `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`
  FutureTask.`get()`
  `V`
  FutureTask.`get(long timeout, TimeUnit unit)`
  `<T> List<Future<T>>`
  AbstractExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks)`
  `<T> List<Future<T>>`
  AbstractExecutorService.`invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
  `<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>>`
  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> T`
  AbstractExecutorService.`invokeAny(Collection<? extends Callable<T>> tasks)`
  `<T> T`
  AbstractExecutorService.`invokeAny(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`
  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.
  `R`
  StructuredTaskScope.`join()`
  Returns the result, or throws, after waiting for all subtasks to complete or the scope to be cancelled.
  `static void`
  ForkJoinPool.`managedBlock(ForkJoinPool.ManagedBlocker blocker)`
  Runs the given possibly blocking task.
  `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`
  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`
  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`
  LinkedBlockingDeque.`offer(E e, long timeout, TimeUnit unit)`
  `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`
  SynchronousQueue.`offer(E e, 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`
  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.`offerFirst(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.
  `boolean`
  LinkedBlockingDeque.`offerLast(E e, long timeout, TimeUnit unit)`
  `E`
  ArrayBlockingQueue.`poll(long timeout, TimeUnit unit)`
  `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`
  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.
  `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`
  DelayQueue.`poll(long timeout, TimeUnit unit)`
  Retrieves and removes the expired head of this queue, waiting if necessary until an expired element is available on this queue, or the specified wait time expires.
  `Future<V>`
  ExecutorCompletionService.`poll(long timeout, TimeUnit unit)`
  `E`
  LinkedBlockingDeque.`poll(long timeout, TimeUnit unit)`
  `E`
  LinkedBlockingQueue.`poll(long timeout, TimeUnit unit)`
  `E`
  LinkedTransferQueue.`poll(long timeout, TimeUnit unit)`
  `E`
  PriorityBlockingQueue.`poll(long timeout, TimeUnit unit)`
  `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`
  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.`pollFirst(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.
  `E`
  LinkedBlockingDeque.`pollLast(long timeout, TimeUnit unit)`
  `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`
  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`
  BlockingQueue.`put(E e)`
  Inserts the specified element into this queue, waiting if necessary for space to become available.
  `void`
  LinkedBlockingDeque.`put(E e)`
  `void`
  LinkedBlockingQueue.`put(E e)`
  Inserts the specified element at the tail of this queue, waiting if necessary for space to become available.
  `void`
  SynchronousQueue.`put(E e)`
  Adds the specified element to this queue, waiting if necessary for another thread to receive it.
  `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.`putFirst(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`
  LinkedBlockingDeque.`putLast(E e)`
  `final boolean`
  ForkJoinTask.`quietlyJoin(long timeout, TimeUnit unit)`
  Tries to join this task, returning true if it completed (possibly exceptionally) before the given timeout elapsed and the current thread has not been interrupted.
  `void`
  TimeUnit.`sleep(long timeout)`
  Performs a `Thread.sleep` using this time unit.
  `E`
  ArrayBlockingQueue.`take()`
  `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`
  BlockingQueue.`take()`
  Retrieves and removes the head of this queue, waiting if necessary until an element becomes available.
  `Future<V>`
  CompletionService.`take()`
  Retrieves and removes the Future representing the next completed task, waiting if none are yet present.
  `E`
  DelayQueue.`take()`
  Retrieves and removes the expired head of this queue, waiting if necessary until an expired element is available on this queue.
  `Future<V>`
  ExecutorCompletionService.`take()`
  `E`
  LinkedBlockingDeque.`take()`
  `E`
  LinkedBlockingQueue.`take()`
  `E`
  LinkedTransferQueue.`take()`
  `E`
  PriorityBlockingQueue.`take()`
  `E`
  SynchronousQueue.`take()`
  Retrieves and removes the head of this queue, waiting if necessary for another thread to insert it.
  `E`
  BlockingDeque.`takeFirst()`
  Retrieves and removes the first element of this deque, waiting if necessary until an element becomes available.
  `E`
  LinkedBlockingDeque.`takeFirst()`
  `E`
  BlockingDeque.`takeLast()`
  Retrieves and removes the last element of this deque, waiting if necessary until an element becomes available.
  `E`
  LinkedBlockingDeque.`takeLast()`
  `void`
  TimeUnit.`timedJoin(Thread thread, long timeout)`
  Performs a timed `Thread.join` using this time unit.
  `void`
  TimeUnit.`timedWait(Object obj, long timeout)`
  Performs a timed `Object.wait` using this time unit.
  `void`
  LinkedTransferQueue.`transfer(E e)`
  Transfers the element to a consumer, waiting if necessary to do so.
  `void`
  TransferQueue.`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`
  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.
  `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.

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

  Methods in java.util.concurrent.locks that throw InterruptedException
  Modifier and Type
  Method
  Description
  `final void`
  AbstractQueuedLongSynchronizer.`acquireInterruptibly(long arg)`
  Acquires in exclusive mode, aborting if interrupted.
  `final void`
  AbstractQueuedSynchronizer.`acquireInterruptibly(int arg)`
  Acquires in exclusive mode, aborting if interrupted.
  `final void`
  AbstractQueuedLongSynchronizer.`acquireSharedInterruptibly(long arg)`
  Acquires in shared mode, aborting if interrupted.
  `final void`
  AbstractQueuedSynchronizer.`acquireSharedInterruptibly(int arg)`
  Acquires in shared mode, aborting if interrupted.
  `final void`
  AbstractQueuedLongSynchronizer.ConditionObject.`await()`
  Implements interruptible condition wait.
  `final boolean`
  AbstractQueuedLongSynchronizer.ConditionObject.`await(long time, TimeUnit unit)`
  Implements timed condition wait.
  `final void`
  AbstractQueuedSynchronizer.ConditionObject.`await()`
  Implements interruptible condition wait.
  `final boolean`
  AbstractQueuedSynchronizer.ConditionObject.`await(long time, TimeUnit unit)`
  Implements timed condition wait.
  `void`
  Condition.`await()`
  Causes the current thread to wait until it is signalled or interrupted.
  `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.
  `final long`
  AbstractQueuedLongSynchronizer.ConditionObject.`awaitNanos(long nanosTimeout)`
  Implements timed condition wait.
  `final long`
  AbstractQueuedSynchronizer.ConditionObject.`awaitNanos(long nanosTimeout)`
  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.
  `final boolean`
  AbstractQueuedLongSynchronizer.ConditionObject.`awaitUntil(Date deadline)`
  Implements absolute timed condition wait.
  `final boolean`
  AbstractQueuedSynchronizer.ConditionObject.`awaitUntil(Date deadline)`
  Implements absolute 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.
  `void`
  Lock.`lockInterruptibly()`
  Acquires the lock unless the current thread is interrupted.
  `void`
  ReentrantLock.`lockInterruptibly()`
  Acquires the lock unless the current thread is interrupted.
  `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.
  `long`
  StampedLock.`readLockInterruptibly()`
  Non-exclusively acquires the lock, blocking if necessary until available or the current thread is interrupted.
  `final boolean`
  AbstractQueuedLongSynchronizer.`tryAcquireNanos(long arg, long nanosTimeout)`
  Attempts to acquire in exclusive mode, aborting if interrupted, and failing if the given timeout elapses.
  `final boolean`
  AbstractQueuedSynchronizer.`tryAcquireNanos(int arg, long nanosTimeout)`
  Attempts to acquire in exclusive mode, aborting if interrupted, and failing if the given timeout elapses.
  `final boolean`
  AbstractQueuedLongSynchronizer.`tryAcquireSharedNanos(long arg, long nanosTimeout)`
  Attempts to acquire in shared mode, aborting if interrupted, and failing if the given timeout elapses.
  `final boolean`
  AbstractQueuedSynchronizer.`tryAcquireSharedNanos(int arg, long nanosTimeout)`
  Attempts to acquire in shared mode, aborting if interrupted, and failing if the given timeout elapses.
  `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.
  `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`
  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.
  `long`
  StampedLock.`tryReadLock(long time, TimeUnit unit)`
  Non-exclusively acquires the lock if it is available within the given time and the current thread has not been interrupted.
  `long`
  StampedLock.`tryWriteLock(long time, TimeUnit unit)`
  Exclusively acquires the lock if it is available within the given time and the current thread has not been interrupted.
  `long`
  StampedLock.`writeLockInterruptibly()`
  Exclusively acquires the lock, blocking if necessary until available or the current thread is interrupted.

- ## Uses of InterruptedException in javax.swing

  Methods in javax.swing that throw InterruptedException
  Modifier and Type
  Method
  Description
  `final T`
  SwingWorker.`get()`
  Waits if necessary for the computation to complete, and then retrieves its result.
  `final T`
  SwingWorker.`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.
  `static void`
  SwingUtilities.`invokeAndWait(Runnable doRun)`
  Causes `doRun.run()` to be executed synchronously on the AWT event dispatching thread.

- ## Uses of InterruptedException in jdk.jfr.consumer

  Methods in jdk.jfr.consumer that throw InterruptedException
  Modifier and Type
  Method
  Description
  `void`
  EventStream.`awaitTermination()`
  Blocks until all actions are completed, or the stream is closed, or the current thread is interrupted, whichever happens first.
  `void`
  EventStream.`awaitTermination(Duration timeout)`
  Blocks until all actions are completed, or the stream is closed, or the timeout occurs, or the current thread is interrupted, whichever happens first.
  `void`
  RecordingStream.`awaitTermination()`
  `void`
  RecordingStream.`awaitTermination(Duration timeout)`

- ## Uses of InterruptedException in jdk.management.jfr

  Methods in jdk.management.jfr that throw InterruptedException
  Modifier and Type
  Method
  Description
  `void`
  RemoteRecordingStream.`awaitTermination()`
  `void`
  RemoteRecordingStream.`awaitTermination(Duration timeout)`