java中Atomic类之AtomicInteger-api

来源:互联网 发布:linux 解压缩war包 编辑:程序博客网 时间:2024/06/05 17:20

Class AtomicInteger

  • java.lang.Object
    • java.lang.Number
      • java.util.concurrent.atomic.AtomicInteger
  • All Implemented Interfaces:
    Serializable


    public class AtomicIntegerextends Numberimplements Serializable
    一个 int值可自动更新。看到的原子变量性质的描述 java.util.concurrent.atomic包装规范。一个AtomicInteger是应用于诸如自动递增的计数器,并不能作为一种Integer置换。然而,这类扩展Number允许统一访问的工具和实用程序处理数值基础班。
    从以下版本开始:
    一点五
    另请参见:
    Serialized Form
    • 构造方法摘要

      构造方法   Constructor and DescriptionAtomicInteger()
      创建一个新的AtomicInteger 0初始值。
      AtomicInteger(int initialValue)
      创建具有给定的初始值的一种新的AtomicInteger。
    • 方法摘要

      所有方法 接口方法 具体的方法  Modifier and TypeMethod and DescriptionintaccumulateAndGet(int x,IntBinaryOperator accumulatorFunction)
      自动更新当前值与给定的功能应用到当前和给定值的结果,返回更新后的值。
      intaddAndGet(int delta)
      自动添加给定值和当前值。
      booleancompareAndSet(int expect, int update)
      自动设置的值来指定更新值,如果电流值 ==期望值。
      intdecrementAndGet()
      原子由一个电流值递减。
      doubledoubleValue()
      为扩大基本转换后的 double返回该 AtomicInteger价值。
      floatfloatValue()
      为扩大基本转换后的 float返回该 AtomicInteger价值。
      intget()
      获取当前值。
      intgetAndAccumulate(int x,IntBinaryOperator accumulatorFunction)
      自动更新当前值与给定的功能应用到当前和给定值的结果,返回前一个值。
      intgetAndAdd(int delta)
      自动添加给定值和当前值。
      intgetAndDecrement()
      原子由一个电流值递减。
      intgetAndIncrement()
      原子逐个增加电流值。
      intgetAndSet(int newValue)
      自动设置为给定的值并返回旧值。
      intgetAndUpdate(IntUnaryOperator updateFunction)
      自动更新当前值与结果应用给定的函数,返回前一个值。
      intincrementAndGet()
      原子逐个增加电流值。
      intintValue()
      作为一个 int返回该 AtomicInteger价值。
      voidlazySet(int newValue)
      最终设置为给定的值。
      longlongValue()
      为扩大基本转换后的 long返回该 AtomicInteger价值。
      voidset(int newValue)
      给定值的集合。
      StringtoString()
      返回当前值的字符串表示形式。
      intupdateAndGet(IntUnaryOperator updateFunction)
      自动更新当前值与结果应用给定的函数,返回更新后的值。
      booleanweakCompareAndSet(int expect, int update)
      自动设置的值来指定更新值,如果电流值 ==期望值。
      • Methods inherited from class java.lang.Number

        byteValue, shortValue
      • Methods inherited from class java.lang.Object

        clone, equals,finalize, getClass,hashCode, notify, notifyAll, wait, wait,wait
    • Constructor Detail

      • AtomicInteger

        public AtomicInteger(int initialValue)
        创建具有给定的初始值的一种新的AtomicInteger。
        参数
        initialValue的初始值
      • AtomicInteger

        public AtomicInteger()
        创建一个新的AtomicInteger 0初始值。
    • 方法详细信息

      • get

        public final int get()
        获取当前值。
        结果
        目前的价值
      • set

        public final void set(int newValue)
        给定值的集合。
        参数
        newValue -新价值
      • lazySet

        public final void lazySet(int newValue)
        最终设置为给定的值。
        参数
        newValue -新价值
        从以下版本开始:
        一点六
      • getAndSet

        public final int getAndSet(int newValue)
        自动设置为给定的值并返回旧值。
        参数
        newValue -新价值
        结果
        以前的值
      • compareAndSet

        public final boolean compareAndSet(int expect,                                   int update)
        自动设置的值来指定更新值,如果电流值 ==期望值。
        参数
        expect -期望值
        update -新价值
        结果
        true如果成功。错误返回表示实际值不等于期望值。
      • weakCompareAndSet

        public final boolean weakCompareAndSet(int expect,                                       int update)
        自动设置的值来指定更新值,如果电流值 ==期望值。

        May fail spuriously and does not provide ordering guarantees,所以只有很少compareAndSet适当的替代。

        参数
        expect -期望值
        update -新价值
        结果
        true如果成功
      • getAndIncrement

        public final int getAndIncrement()
        原子逐个增加电流值。
        结果
        以前的值
      • getAndDecrement

        public final int getAndDecrement()
        原子由一个电流值递减。
        结果
        以前的值
      • getAndAdd

        public final int getAndAdd(int delta)
        自动添加给定值和当前值。
        参数
        delta -价值增加
        结果
        以前的值
      • incrementAndGet

        public final int incrementAndGet()
        原子逐个增加电流值。
        结果
        更新后的值
      • decrementAndGet

        public final int decrementAndGet()
        原子由一个电流值递减。
        结果
        更新后的值
      • addAndGet

        public final int addAndGet(int delta)
        自动添加给定值和当前值。
        参数
        delta -价值增加
        结果
        更新后的值
      • getAndUpdate

        public final int getAndUpdate(IntUnaryOperator updateFunction)
        自动更新当前值与结果应用给定的函数,返回前一个值。函数应该是免费的,因为它可能会被重新应用时尝试更新失败,由于线程之间的争用。
        参数
        updateFunction -无副作用的功能
        结果
        以前的值
        从以下版本开始:
        一点八
      • updateAndGet

        public final int updateAndGet(IntUnaryOperator updateFunction)
        自动更新当前值与结果应用给定的函数,返回更新后的值。函数应该是免费的,因为它可能会被重新应用时尝试更新失败,由于线程之间的争用。
        参数
        updateFunction -无副作用的功能
        结果
        更新后的值
        从以下版本开始:
        一点八
      • getAndAccumulate

        public final int getAndAccumulate(int x,                                  IntBinaryOperator accumulatorFunction)
        自动更新当前值与给定的功能应用到当前和给定值的结果,返回前一个值。函数应该是免费的,因为它可能会被重新应用时尝试更新失败,由于线程之间的争用。函数以当前值作为其第一个参数,并且给出的更新作为第二个参数。
        参数
        x -更新价值
        accumulatorFunction -两参数无副作用的功能
        结果
        以前的值
        从以下版本开始:
        一点八
      • accumulateAndGet

        public final int accumulateAndGet(int x,                                  IntBinaryOperator accumulatorFunction)
        自动更新当前值与给定的功能应用到当前和给定值的结果,返回更新后的值。函数应该是免费的,因为它可能会被重新应用时尝试更新失败,由于线程之间的争用。函数以当前值作为其第一个参数,并且给出的更新作为第二个参数。
        参数
        x -更新价值
        accumulatorFunction -两参数无副作用的功能
        结果
        更新后的值
        从以下版本开始:
        一点八
      • toString

        public String toString()
        返回当前值的字符串表示形式。
        重写:
        toString 方法重写,继承类 Object
        结果
        当前值的字符串表示形式
      • intValue

        public int intValue()
        作为一个 int返回该 AtomicInteger价值。
        Specified by:
        intValue 方法重写,继承类 Number
        结果
        这代表的对象转换为数值型 int后。
      • longValue

        public long longValue()
        为扩大基本转换后的 long返回该 AtomicInteger价值。
        Specified by:
        longValue 方法重写,继承类 Number
        结果
        这代表的对象转换为数值型 long后。
        See The Java™ Language Specification:
        5.1.2扩大原始转换
      • floatValue

        public float floatValue()
        为扩大基本转换后的 float返回该 AtomicInteger价值。
        Specified by:
        floatValue 方法重写,继承类 Number
        结果
        这代表的对象转换为数值型 float后。
        See The Java™ Language Specification:
        5.1.2扩大原始转换
      • doubleValue

        public double doubleValue()
        为扩大基本转换后的 double返回该 AtomicInteger价值。
        Specified by:
        doubleValue 方法重写,继承类 Number
        结果
        这代表的对象转换为数值型 double后。
        See The Java™ Language Specification:
        5.1.2扩大原始转换