public class RecomputingSupplier<T>
extends java.lang.Object
get(long, TimeUnit) to wait until this value is computed if
it was not computed yet.
Calling recompute() won't reset value for the already
waiting consumers, but instead will schedule one recomputation as soon as current one is done.| Constructor and Description |
|---|
RecomputingSupplier(java.util.function.Supplier<T> supplier,
java.util.concurrent.ExecutorService executor) |
| Modifier and Type | Method and Description |
|---|---|
T |
get(long timeout,
java.util.concurrent.TimeUnit timeUnit) |
void |
recompute() |
java.lang.String |
toString() |
public RecomputingSupplier(java.util.function.Supplier<T> supplier, java.util.concurrent.ExecutorService executor)
public void recompute()
public T get(long timeout, java.util.concurrent.TimeUnit timeUnit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionjava.util.concurrent.TimeoutExceptionpublic java.lang.String toString()
toString in class java.lang.ObjectCopyright © 2009-2022 The Apache Software Foundation