Class AtomicInteger

本文详细介绍了Java并发包中AtomicInteger类的使用方法及特性。包括构造方法、原子操作、比较并交换等关键方法,并解释了其作为数值类的扩展用途。
Java™ Platform
Standard Ed. 7
java.util.concurrent.atomic

Class AtomicInteger

  • All Implemented Interfaces:
    Serializable


    public class AtomicInteger
    extends Number
    implements Serializable
    An  int value that may be updated atomically. See the  java.util.concurrent.atomic package specification for description of the properties of atomic variables. An  AtomicInteger is used in applications such as atomically incremented counters, and cannot be used as a replacement for an  Integer. However, this class does extend  Number to allow uniform access by tools and utilities that deal with numerically-based classes.
    Since:
    1.5
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors  
      Constructor and Description
      AtomicInteger()
      Creates a new AtomicInteger with initial value  0.
      AtomicInteger(int initialValue)
      Creates a new AtomicInteger with the given initial value.
    • Method Summary

      Methods  
      Modifier and TypeMethod and Description
      intaddAndGet(int delta)
      Atomically adds the given value to the current value.
      booleancompareAndSet(int expect, int update)
      Atomically sets the value to the given updated value if the current value  == the expected value.
      intdecrementAndGet()
      Atomically decrements by one the current value.
      doubledoubleValue()
      Returns the value of the specified number as a  double.
      floatfloatValue()
      Returns the value of the specified number as a  float.
      intget()
      Gets the current value.
      intgetAndAdd(int delta)
      Atomically adds the given value to the current value.
      intgetAndDecrement()
      Atomically decrements by one the current value.
      intgetAndIncrement()
      Atomically increments by one the current value.
      intgetAndSet(int newValue)
      Atomically sets to the given value and returns the old value.
      intincrementAndGet()
      Atomically increments by one the current value.
      intintValue()
      Returns the value of the specified number as an  int.
      voidlazySet(int newValue)
      Eventually sets to the given value.
      longlongValue()
      Returns the value of the specified number as a  long.
      voidset(int newValue)
      Sets to the given value.
      StringtoString()
      Returns the String representation of the current value.
      booleanweakCompareAndSet(int expect, int update)
      Atomically sets the value to the given updated value if the current value  == the expected value.
    • Constructor Detail

      • AtomicInteger
        public AtomicInteger(int initialValue)
        Creates a new AtomicInteger with the given initial value.
        Parameters:
        initialValue - the initial value
      • AtomicInteger
        public AtomicInteger()
        Creates a new AtomicInteger with initial value  0.
    • Method Detail

      • get
        public final int get()
        Gets the current value.
        Returns:
        the current value
      • set
        public final void set(int newValue)
        Sets to the given value.
        Parameters:
        newValue - the new value
      • lazySet
        public final void lazySet(int newValue)
        Eventually sets to the given value.
        Parameters:
        newValue - the new value
        Since:
        1.6
      • getAndSet
        public final int getAndSet(int newValue)
        Atomically sets to the given value and returns the old value.
        Parameters:
        newValue - the new value
        Returns:
        the previous value
      • compareAndSet
        public final boolean compareAndSet(int expect,
                            int update)
        Atomically sets the value to the given updated value if the current value  == the expected value.
        Parameters:
        expect - the expected value
        update - the new value
        Returns:
        true if successful. False return indicates that the actual value was not equal to the expected value.
      • weakCompareAndSet
        public final boolean weakCompareAndSet(int expect,
                                int update)
        Atomically sets the value to the given updated value if the current value  == the expected value.

        May fail spuriously and does not provide ordering guarantees, so is only rarely an appropriate alternative to compareAndSet.

        Parameters:
        expect - the expected value
        update - the new value
        Returns:
        true if successful.
      • getAndIncrement
        public final int getAndIncrement()
        Atomically increments by one the current value.
        Returns:
        the previous value
      • getAndDecrement
        public final int getAndDecrement()
        Atomically decrements by one the current value.
        Returns:
        the previous value
      • getAndAdd
        public final int getAndAdd(int delta)
        Atomically adds the given value to the current value.
        Parameters:
        delta - the value to add
        Returns:
        the previous value
      • incrementAndGet
        public final int incrementAndGet()
        Atomically increments by one the current value.
        Returns:
        the updated value
      • decrementAndGet
        public final int decrementAndGet()
        Atomically decrements by one the current value.
        Returns:
        the updated value
      • addAndGet
        public final int addAndGet(int delta)
        Atomically adds the given value to the current value.
        Parameters:
        delta - the value to add
        Returns:
        the updated value
      • toString
        public String toString()
        Returns the String representation of the current value.
        Overrides:
        toString in class  Object
        Returns:
        the String representation of the current value.
      • intValue
        public int intValue()
        Description copied from class: Number
        Returns the value of the specified number as an  int. This may involve rounding or truncation.
        Specified by:
        intValue in class  Number
        Returns:
        the numeric value represented by this object after conversion to type  int.
      • longValue
        public long longValue()
        Description copied from class: Number
        Returns the value of the specified number as a  long. This may involve rounding or truncation.
        Specified by:
        longValue in class  Number
        Returns:
        the numeric value represented by this object after conversion to type  long.
      • floatValue
        public float floatValue()
        Description copied from class: Number
        Returns the value of the specified number as a  float. This may involve rounding.
        Specified by:
        floatValue in class  Number
        Returns:
        the numeric value represented by this object after conversion to type  float.
      • doubleValue
        public double doubleValue()
        Description copied from class: Number
        Returns the value of the specified number as a  double. This may involve rounding.
        Specified by:
        doubleValue in class  Number
        Returns:
        the numeric value represented by this object after conversion to type  double.
Java™ Platform
Standard Ed. 7

Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2018, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

转载于:https://www.cnblogs.com/diggingdeeply/p/Class_AtomicInteger.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值