在 java 中实现一个惰性供应商
2022-09-02 23:51:08
在Java中实现懒惰的供应商的正确范式或实用程序类(似乎找不到预先存在的类)是什么?
我希望有一些东西来处理一次性计算/稍后缓存行为,并允许我独立指定计算行为。我知道这可能有一个错误,但它有正确的语义:
abstract public class LazySupplier<T> implements Supplier<T>
{
private volatile T t;
final private Object lock = new Object();
final public T get() {
if (t == null)
{
synchronized(lock)
{
if (t == null)
t = compute();
}
}
return t;
}
abstract protected T compute();
}