zoukankan      html  css  js  c++  java
  • java并发编程:线程安全管理类--原子操作类--AtomicReference<V>

    1.类 AtomicReference<V>

    public class AtomicReference<V>extends Objectimplements Serializable

      可以用原子方式更新的对象引用

    2.构造函数详解

    AtomicReference

    public AtomicReference(V initialValue)
    使用给定的初始值创建新的 AtomicReference。
    参数:
    initialValue - 初始值

    AtomicReference

    public AtomicReference()

    使用 null 初始值创建新的 AtomicReference。

    3.方法详解

    get

    public final V get()
    获取当前值。
    返回:
    当前值

    set

    public final void set(V newValue)
    设置为给定值。
    参数:
    newValue - 新值

    lazySet

    public final void lazySet(V newValue)
    最终设置为给定值。
    参数:
    newValue - 新值
    从以下版本开始:
    1.6

    compareAndSet

    public final boolean compareAndSet(V expect,
                                       V update)
    如果当前值 == 预期值,则以原子方式将该值设置为给定的更新值。
    参数:
    expect - 预期值
    update - 新值
    返回:
    如果成功,则返回 true。返回 false 指示实际值与预期值不相等。

    weakCompareAndSet

    public final boolean weakCompareAndSet(V expect,
                                           V update)
    如果当前值 == 预期值,则以原子方式将该值设置为给定的更新值。

    可能意外失败并且不提供排序保证,因此几乎只是 compareAndSet 的适当替代方法。

    参数:
    expect - 预期值
    update - 新值
    返回:
    如果成功,则返回 true。

    getAndSet

    public final V getAndSet(V newValue)
    以原子方式设置为给定值,并返回旧值。
    参数:
    newValue - 新值
    返回:
    以前的值

    toString

    public String toString()
    返回当前值的字符串表示形式。
    覆盖:
    Object 中的 toString
    返回:
    当前值的字符串表示形式。
  • 相关阅读:
    AJAX
    前端上传文件 后端PHP获取文件
    PHP基础语法
    JS错误记录
    JS学习笔记
    python利用xlrd读取excel文件始终报错原因
    安装xlwt和xlrd
    编程菜鸟的日记-Linux无处不在
    编程菜鸟的日记-《软件测试》Ron Patton著-读书笔记
    编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习9
  • 原文地址:https://www.cnblogs.com/tonylovett/p/5254736.html
Copyright © 2011-2022 走看看