AtomicReference、AtomicBoolean、At

2020-10-09  本文已影响0人  早点起床晒太阳

参考资料
https://blog.csdn.net/zxc123e/article/details/52057289

简单介绍

看其名称便知道这个都是读写原子的类。最终的原因是因为volatile修饰了内部的变量 (源码)。这些在多线程的应用中应用很多。

AtomicReference 为原子的引用,这个可以有泛型的形式

AtomicBoolean 这个是原子的布尔值

AtomicInteger 这个是原子的int值

大部分都是通过get 和 set 方法来获取值和设置值

样例代码

我这块直接上样例代码(我这里只列举comparAndSet的用法 get set方法非常简单)

        String initialReference = "initial value referenced";

        AtomicReference<String> atomicStringReference =
                new AtomicReference<String>(initialReference);

        String newReference = "new value referenced";
        boolean exchanged = atomicStringReference.compareAndSet(initialReference, newReference);
        System.out.println("exchanged: " + exchanged);
        System.out.println(atomicStringReference.get());
        exchanged = atomicStringReference.compareAndSet(initialReference, newReference);
        System.out.println("exchanged: " + exchanged);
        System.out.println(atomicStringReference.get());
上一篇 下一篇

猜你喜欢

热点阅读