Package com.google.common.util.concurrent
@CheckReturnValue
@ParametersAreNonnullByDefault
package com.google.common.util.concurrent
Concurrency utilities.
Commonly used types include ListenableFuture and
Service.
Commonly used utilities include Futures,
MoreExecutors, and
ThreadFactoryBuilder.
This package is a part of the open-source Guava library.
-
ClassDescriptionAbstractCheckedFuture<V, X extends Exception>A delegating wrapper around a
ListenableFuturethat adds support for theAbstractCheckedFuture.checkedGet()andAbstractCheckedFuture.checkedGet(long, TimeUnit)methods.Base class for services that can implementAbstractExecutionThreadService.startUp(),AbstractExecutionThreadService.run()andAbstractExecutionThreadService.shutDown()methods.An abstract implementation ofListenableFuture, intended for advanced users only.Base class for services that do not need a thread while "running" but may need one during startup and shutdown.AbstractListeningExecutorServiceimplementation that createsListenableFutureinstances for eachRunnableandCallablesubmitted to it.Base class for services that can implementAbstractScheduledService.startUp()andAbstractScheduledService.shutDown()but while in the "running" state need to perform a periodic task.AAbstractScheduledService.Schedulerthat provides a convenient way for theAbstractScheduledServiceto use a dynamically changing schedule.A value object that represents an absolute delay until a task should be invoked.A scheduler defines the policy for how theAbstractScheduledServiceshould run its task.Base class for implementing services that can handleAbstractService.doStart()andAbstractService.doStop()requests, responding to them withAbstractService.notifyStarted()andAbstractService.notifyStopped()callbacks.Computes a value, possibly asynchronously.AsyncFunction<I,O> Transforms a value, possibly asynchronously.Adoublevalue that may be updated atomically.Adoublearray in which elements may be updated atomically.A map containinglongvalues that can be atomically updated.Static utility methods pertaining to classes in thejava.util.concurrent.atomicpackage.Static utility methods pertaining to theCallableinterface.CheckedFuture<V, X extends Exception>ACheckedFutureis aListenableFuturethat includes versions of thegetmethods that can throw a checked exception.TheCycleDetectingLockFactorycreatesReentrantLockinstances andReentrantReadWriteLockinstances that detect potential deadlock by checking for cycles in lock acquisition order.Pre-definedCycleDetectingLockFactory.Policyimplementations.Encapsulates the action to be taken when a potential deadlock is encountered.Represents a detected cycle in lock acquisition ordering.CycleDetectingLockFactory.WithExplicitOrdering<E extends Enum<E>>ACycleDetectingLockFactory.WithExplicitOrderingprovides the additional enforcement of an application-specified ordering of lock acquisitions.Errorvariant ofExecutionException.A support class forListenableFutureimplementations to manage their listeners.A TimeLimiter implementation which actually does not attempt to limit time at all.ABlockingQueuewhich forwards all its method calls to anotherBlockingQueue.ForwardingCheckedFuture<V, X extends Exception>A future which forwards all its method calls to another future.A simplified version ofForwardingCheckedFuturewhere subclasses can pass in an already constructedCheckedFutureas the delegate.An executor service which forwards all its method calls to another executor service.AFuturewhich forwards all its method calls to another future.A simplified version ofForwardingFuturewhere subclasses can pass in an already constructedFutureas the delegate.AListenableFuturewhich forwards all its method calls to another future.A simplified version ofForwardingListenableFuturewhere subclasses can pass in an already constructedListenableFutureas the delegate.A listening executor service which forwards all its method calls to another listening executor service.A callback for accepting the results of aFuturecomputation asynchronously.Static utility methods pertaining to theFutureinterface.A helper to create a newListenableFuturewhose result is generated from a combination of input futures.Utilities necessary for working with libraries that supply plainFutureinstances.AFuturethat accepts completion listeners.AFutureTaskthat also implements theListenableFutureinterface.Helper interface to implement bothListenableFutureandScheduledFuture.AnExecutorServicethat returnsListenableFutureinstances.AScheduledExecutorServicethat returnsListenableFutureinstances from itsExecutorServicemethods.A synchronization abstraction supporting waiting on arbitrary boolean conditions.A boolean condition for which a thread may wait.A rate limiter.Static utility methods pertaining to theRunnableinterface.An object with an operational state, plus asynchronousService.startAsync()andService.stopAsync()lifecycle methods to transition between states.A listener for the various state changes that aServicegoes through in its lifecycle.The lifecycle states of a service.A manager for monitoring and controlling a set of services.A listener for the aggregate state changes of the services that are under management.AListenableFuturewhose result can be set by aSettableFuture.set(Object),SettableFuture.setException(Throwable)orSettableFuture.setFuture(ListenableFuture)call.A TimeLimiter that runs method calls in the background using anExecutorService.Striped<L>A stripedLock/Semaphore/ReadWriteLock.A ThreadFactory builder, providing any combination of these features: whether threads should be marked as daemon threads a naming format a thread priority an uncaught exception handler a backing thread factoryProduces proxies that impose a time limit on method calls to the proxied object.Factories forThread.UncaughtExceptionHandlerinstances.Unchecked variant ofExecutionException.Unchecked version ofTimeoutException.Utilities for treating interruptible operations as uninterruptible.