Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, Alstresh, Вы писали:
A>>Покритикуйте использование не блокирющего алгоритма взамен синхронизации, например:
B>Два параллельных потока у вас создают 2 экземпляра.
Да, там перемудрил, а если так:
final class NonBlockSingleton {
private static final AtomicReference<NonBlockSingleton> ref = new AtomicReference<NonBlockSingleton>();
public static NonBlockSingleton getInstance() {
if (ref.get() == null) {
ref.compareAndSet(null, new NonBlockSingleton());
}
return ref.get();
}
}