zoukankan      html  css  js  c++  java
  • AtomicReference 原子引用

     

    原创 2016年03月04日 13:35:20

    1.简介

    赋值操作不是线程安全的。若想不用锁来实现,可以用AtomicReference<V>这个类,实现对象引用的原子更新。

    使用场景:一个线程使用student对象,另一个线程负责定时读表,更新这个对象。那么就可以用AtomicReference这个类。

    java.util.concurrent.atomic.AtomicReference<V>
    类的名字。

    2.常用方法

    java.util.concurrent.atomic.AtomicReference.AtomicReference(V initialValue)
    构造函数。
    V java.util.concurrent.atomic.AtomicReference.get()
    返回当前的引用。
    boolean java.util.concurrent.atomic.AtomicReference.compareAndSet(V expect, V update)

    如果当前值与给定的expect相等,(注意是引用相等而不是equals()相等),更新为指定的update值。

    V java.util.concurrent.atomic.AtomicReference.getAndSet(V newValue)

    原子地设为给定值并返回旧值。

    void java.util.concurrent.atomic.AtomicReference.set(V newValue)

    注意此方法不是原子的。不明白为什么要提供这个方法,很容易误用。

     
  • 相关阅读:
    双链表
    单链表
    二叉树的遍历
    leetcode-9. 回文数
    leetcode-8. 字符串转换整数 (atoi)
    leetcode-7. 整数反转
    leetcode-6. Z 字形变换
    leetcode-5. 最长回文子串
    manacher-线性查找算法-(最长回文子串问题)
    bfprt-线性查找算法-(topK问题)
  • 原文地址:https://www.cnblogs.com/ydxblog/p/7988487.html
Copyright © 2011-2022 走看看