# Uses of Enum Class
java.util.concurrent.TimeUnit

Packages that use TimeUnit
Package
Description
java.lang
Provides classes that are fundamental to the design of the Java programming language.
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.nio.file.attribute
Interfaces and classes providing access to file and file system attributes.
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.

- ## Uses of TimeUnit in java.lang

  Methods in java.lang with parameters of type TimeUnit
  Modifier and Type
  Method
  Description
  `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.

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

  Methods in java.nio.channels with parameters of type TimeUnit
  Modifier and Type
  Method
  Description
  `abstract boolean`
  AsynchronousChannelGroup.`awaitTermination(long timeout, TimeUnit unit)`
  Awaits termination of the group.
  `abstract <A> void`
  AsynchronousSocketChannel.`read(ByteBuffer[] dsts, int offset, int length, long timeout, TimeUnit unit, A attachment, CompletionHandler<Long, ? super A> handler)`
  Reads a sequence of bytes from this channel into a subsequence of the given buffers.
  `abstract <A> void`
  AsynchronousSocketChannel.`read(ByteBuffer dst, long timeout, TimeUnit unit, A attachment, CompletionHandler<Integer, ? super A> handler)`
  Reads a sequence of bytes from this channel into the given buffer.
  `abstract <A> void`
  AsynchronousSocketChannel.`write(ByteBuffer[] srcs, int offset, int length, long timeout, TimeUnit unit, A attachment, CompletionHandler<Long, ? super A> handler)`
  Writes a sequence of bytes to this channel from a subsequence of the given buffers.
  `abstract <A> void`
  AsynchronousSocketChannel.`write(ByteBuffer src, long timeout, TimeUnit unit, A attachment, CompletionHandler<Integer, ? super A> handler)`
  Writes a sequence of bytes to this channel from the given buffer.

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

  Methods in java.nio.file with parameters of type TimeUnit
  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.

- ## Uses of TimeUnit in java.nio.file.attribute

  Methods in java.nio.file.attribute with parameters of type TimeUnit
  Modifier and Type
  Method
  Description
  `static FileTime`
  FileTime.`from(long value, TimeUnit unit)`
  Returns a `FileTime` representing a value at the given unit of granularity.
  `long`
  FileTime.`to(TimeUnit unit)`
  Returns the value at the given unit of granularity.

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

  Subclasses with type arguments of type TimeUnit in java.util.concurrent
  Modifier and Type
  Class
  Description
  `enum`
  `TimeUnit`
  A `TimeUnit` represents time durations at a given unit of granularity and provides utility methods to convert across units, and to perform timing and delay operations in these units.
  Methods in java.util.concurrent that return TimeUnit
  Modifier and Type
  Method
  Description
  `static TimeUnit`
  TimeUnit.`of(ChronoUnit chronoUnit)`
  Converts a `ChronoUnit` to the equivalent `TimeUnit`.
  `static TimeUnit`
  TimeUnit.`valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static TimeUnit[]`
  TimeUnit.`values()`
  Returns an array containing the constants of this enum class, in the order they are declared.
  Methods in java.util.concurrent with parameters of type TimeUnit
  Modifier and Type
  Method
  Description
  `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(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, 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`
  ForkJoinPool.`awaitQuiescence(long timeout, TimeUnit unit)`
  If called by a ForkJoinTask operating in this pool, equivalent in effect to `ForkJoinTask.helpQuiesce()`.
  `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)`
  `CompletableFuture<T>`
  CompletableFuture.`completeOnTimeout(T value, long timeout, TimeUnit unit)`
  Completes this CompletableFuture with the given value if not otherwise completed before the given timeout elapsed.
  `long`
  TimeUnit.`convert(long sourceDuration, TimeUnit sourceUnit)`
  Converts the given time duration in the given unit to this unit.
  `static Executor`
  CompletableFuture.`delayedExecutor(long delay, TimeUnit unit)`
  Returns a new Executor that submits a task to the default executor after the given delay (or no delay if non-positive).
  `static Executor`
  CompletableFuture.`delayedExecutor(long delay, TimeUnit unit, Executor executor)`
  Returns a new Executor that submits a task to the given base executor after the given delay (or no delay if non-positive).
  `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(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(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(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(long timeout, TimeUnit unit)`
  `long`
  Delayed.`getDelay(TimeUnit unit)`
  Returns the remaining delay associated with this object, in the given time unit.
  `long`
  ThreadPoolExecutor.`getKeepAliveTime(TimeUnit unit)`
  Returns the thread keep-alive time, which is the amount of time that threads may remain idle before being terminated.
  `<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, 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>>`
  ForkJoinPool.`invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
  `<T> T`
  AbstractExecutorService.`invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
  `<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`
  ForkJoinPool.`invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`
  `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`
  DelayQueue.`offer(E e, long timeout, TimeUnit unit)`
  Inserts the specified element into this delay queue.
  `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`
  LinkedTransferQueue.`offer(E e, long timeout, TimeUnit unit)`
  Inserts the specified element at the tail of this queue.
  `boolean`
  PriorityBlockingQueue.`offer(E e, long timeout, TimeUnit unit)`
  Inserts the specified element into this priority queue.
  `int`
  SubmissionPublisher.`offer(T item, long timeout, TimeUnit unit, BiPredicate<Flow.Subscriber<? super T>, ? super T> onDrop)`
  Publishes the given item, if possible, to each current subscriber by asynchronously invoking its `onNext` method, blocking while resources for any subscription are unavailable, up to the specified timeout or until the caller thread is interrupted, at which point the given handler (if non-null) is invoked, and if it returns true, retried once.
  `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)`
  `CompletableFuture<T>`
  CompletableFuture.`orTimeout(long timeout, TimeUnit unit)`
  Exceptionally completes this CompletableFuture with a `TimeoutException` if not otherwise completed before the given timeout elapsed.
  `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)`
  `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.
  `final boolean`
  ForkJoinTask.`quietlyJoinUninterruptibly(long timeout, TimeUnit unit)`
  Tries to join this task, returning true if it completed (possibly exceptionally) before the given timeout elapsed.
  `ScheduledFuture<?>`
  ForkJoinPool.`schedule(Runnable command, long delay, TimeUnit unit)`
  Submits a one-shot task that becomes enabled after the given delay.
  `<V> ScheduledFuture<V>`
  ForkJoinPool.`schedule(Callable<V> callable, long delay, TimeUnit unit)`
  Submits a value-returning one-shot task that becomes enabled after the given delay.
  `ScheduledFuture<?>`
  ScheduledExecutorService.`schedule(Runnable command, long delay, TimeUnit unit)`
  Submits a one-shot task that becomes enabled after the given delay.
  `<V> ScheduledFuture<V>`
  ScheduledExecutorService.`schedule(Callable<V> callable, long delay, TimeUnit unit)`
  Submits a value-returning one-shot task that becomes enabled after the given delay.
  `ScheduledFuture<?>`
  ScheduledThreadPoolExecutor.`schedule(Runnable command, long delay, TimeUnit unit)`
  `<V> ScheduledFuture<V>`
  ScheduledThreadPoolExecutor.`schedule(Callable<V> callable, long delay, TimeUnit unit)`
  `ScheduledFuture<?>`
  ForkJoinPool.`scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)`
  Submits a periodic action that becomes enabled first after the given initial delay, and subsequently with the given period; that is, executions will commence after `initialDelay`, then `initialDelay + period`, then `initialDelay + 2 * period`, and so on.
  `ScheduledFuture<?>`
  ScheduledExecutorService.`scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)`
  Submits a periodic action that becomes enabled first after the given initial delay, and subsequently with the given period; that is, executions will commence after `initialDelay`, then `initialDelay + period`, then `initialDelay + 2 * period`, and so on.
  `ScheduledFuture<?>`
  ScheduledThreadPoolExecutor.`scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)`
  Submits a periodic action that becomes enabled first after the given initial delay, and subsequently with the given period; that is, executions will commence after `initialDelay`, then `initialDelay + period`, then `initialDelay + 2 * period`, and so on.
  `ScheduledFuture<?>`
  ForkJoinPool.`scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)`
  Submits a periodic action that becomes enabled first after the given initial delay, and subsequently with the given delay between the termination of one execution and the commencement of the next.
  `ScheduledFuture<?>`
  ScheduledExecutorService.`scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)`
  Submits a periodic action that becomes enabled first after the given initial delay, and subsequently with the given delay between the termination of one execution and the commencement of the next.
  `ScheduledFuture<?>`
  ScheduledThreadPoolExecutor.`scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)`
  Submits a periodic action that becomes enabled first after the given initial delay, and subsequently with the given delay between the termination of one execution and the commencement of the next.
  `void`
  ThreadPoolExecutor.`setKeepAliveTime(long time, TimeUnit unit)`
  Sets the thread keep-alive time, which is the amount of time that threads may remain idle before being terminated.
  `<V> ForkJoinTask<V>`
  ForkJoinPool.`submitWithTimeout(Callable<V> callable, long timeout, TimeUnit unit, Consumer<? super ForkJoinTask<V>> timeoutAction)`
  Submits a task executing the given function, cancelling the task or performing a given timeoutAction if not completed within the given timeout period.
  `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.
  Constructors in java.util.concurrent with parameters of type TimeUnit
  Modifier
  Constructor
  Description
  ``
  `ForkJoinPool(int parallelism, ForkJoinPool.ForkJoinWorkerThreadFactory factory, Thread.UncaughtExceptionHandler handler, boolean asyncMode, int corePoolSize, int maximumPoolSize, int minimumRunnable, Predicate<? super ForkJoinPool> saturate, long keepAliveTime, TimeUnit unit)`
  Creates a `ForkJoinPool` with the given parameters.
  ``
  `ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue)`
  Creates a new `ThreadPoolExecutor` with the given initial parameters, the default thread factory and the default rejected execution handler.
  ``
  `ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler)`
  Creates a new `ThreadPoolExecutor` with the given initial parameters and the default thread factory.
  ``
  `ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory)`
  Creates a new `ThreadPoolExecutor` with the given initial parameters and the default rejected execution handler.
  ``
  `ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)`
  Creates a new `ThreadPoolExecutor` with the given initial parameters.

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

  Methods in java.util.concurrent.locks with parameters of type TimeUnit
  Modifier and Type
  Method
  Description
  `final boolean`
  AbstractQueuedLongSynchronizer.ConditionObject.`await(long time, TimeUnit unit)`
  Implements timed condition wait.
  `final boolean`
  AbstractQueuedSynchronizer.ConditionObject.`await(long time, TimeUnit unit)`
  Implements timed 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`
  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.

- ## Uses of TimeUnit in javax.swing

  Methods in javax.swing with parameters of type TimeUnit
  Modifier and Type
  Method
  Description
  `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.