zoukankan      html  css  js  c++  java
  • 并发编程-concurrent指南-原子操作类-AtomicReference

    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
    返回:
    当前值的字符串表示形式。

    转自:http://www.cnblogs.com/tonylovett/p/5254736.html

  • 相关阅读:
    IOS之Block的应用-textFeild的回调应用
    KVC与KVO的不同
    git
    perl读取excel
    Linux用户管理
    Linux软件包的管理
    linux系统学习(二)
    linux系统学习(一)
    js模版渲染
    Discuz核心函数的解析
  • 原文地址:https://www.cnblogs.com/qjm201000/p/10183958.html
Copyright © 2011-2022 走看看