AtomicInitializer.java
898 Bytes
package org.apache.commons.lang3.concurrent;
import java.util.concurrent.atomic.AtomicReference;
public abstract class AtomicInitializer<T>
implements ConcurrentInitializer<T>
{
private final AtomicReference<T> a = new AtomicReference();
public T get()
throws ConcurrentException
{
Object localObject2 = this.a.get();
Object localObject1 = localObject2;
if (localObject2 == null)
{
localObject2 = initialize();
localObject1 = localObject2;
if (!this.a.compareAndSet(null, localObject2)) {
localObject1 = this.a.get();
}
}
return (T)localObject1;
}
protected abstract T initialize()
throws ConcurrentException;
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/org/apache/commons/lang3/concurrent/AtomicInitializer.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/