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();
}
나에게 잘 생겼는데, 무엇이 너를 괴롭 히 느냐? –
나는 그것이 올바른지 확실히하기 위해 올바른 조치를 취하지 않는다면 동시성은 당신이 혼란스럽지 않다는 것을 안다. –
여기에 표시된 예제 코드는 이중 ckecked 잠금이며 http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html –