package com.mmall.concurrency.example.atomic;
import com.mmall.concurrency.annoations.ThreadSafe;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.atomic.LongAdder;
@Slf4j
@ThreadSafe
public class AtomicExample4 {
private static AtomicReference<Double> count = new AtomicReference<>(0d);
public static void main(String[] args) {
count.compareAndSet(0d, 2d); // 2
count.compareAndSet(0d, 1d); // no
count.compareAndSet(1d, 3d); // no
count.compareAndSet(2d, 4d); // 4
count.compareAndSet(3d, 5d); // no
log.info("count:{}", count.get());
}
}