Singleton Java без synchronized и volatile

199
26 мая 2018, 19:30

Правильная ли такая реализация потокобезопасного Singleton? И как его можно ещё реализовать без применения synchronized и volatile?

private static Singleton instance;
private static Lock lock = new ReentrantLock();
private static AtomicBoolean flag = new AtomicBoolean();
public static TaxiCompany getInstance() {
    if (!flag.get()) {
        lock.lock();
        try {
            if (instance == null) {
                instance = new TaxiCompany();
                flag.set(true);
            }
        } finally {
            lock.unlock();
        }
    }
    return instance;
}
READ ALSO
Случайная генерация двух дат до 30 дней

Случайная генерация двух дат до 30 дней

Есть два поля начальная дата и конечная дата На входе получить начальная дата c текущей датой, конечная дата должна быть выше начальная дата,...

237
Сортировка List Java [закрыт]

Сортировка List Java [закрыт]

Имеется list с несколькими значениямиНеобходимо сделать так, чтобы одно из значений всегда находилось внизу списка, независимо от того, чему...

204