Class AtomicInteger
- java.lang.Object
-
- java.lang.Number
-
- java.util.concurrent.atomic.AtomicInteger
-
All Implemented Interfaces:
public class AtomicInteger extends Number implements Serializable
一个
int
值可自动更新。看到的原子变量性质的描述java.util.concurrent.atomic
包装规范。一个AtomicInteger
是应用于诸如自动递增的计数器,并不能作为一种Integer
置换。然而,这类扩展Number
允许统一访问的工具和实用程序处理数值基础班。从以下版本开始:
一点五
另请参见:
-
-
构造方法摘要
构造方法 Constructor and Description AtomicInteger()
创建一个新的AtomicInteger
0
初始值。AtomicInteger(int initialValue)
创建具有给定的初始值的一种新的AtomicInteger。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type Method and Description int
accumulateAndGet(int x,IntBinaryOperator accumulatorFunction)
自动更新当前值与给定的功能应用到当前和给定值的结果,返回更新后的值。
int
addAndGet(int delta)
自动添加给定值和当前值。
boolean
compareAndSet(int expect, int update)
自动设置的值来指定更新值,如果电流值
==
期望值。int
decrementAndGet()
原子由一个电流值递减。
double
doubleValue()
为扩大基本转换后的
double
返回该AtomicInteger
价值。float
floatValue()
为扩大基本转换后的
float
返回该AtomicInteger
价值。int
get()
获取当前值。
int
getAndAccumulate(int x,IntBinaryOperator accumulatorFunction)
自动更新当前值与给定的功能应用到当前和给定值的结果,返回前一个值。
int
getAndAdd(int delta)
自动添加给定值和当前值。
int
getAndDecrement()
原子由一个电流值递减。
int
getAndIncrement()
原子逐个增加电流值。
int
getAndSet(int newValue)
自动设置为给定的值并返回旧值。
int
getAndUpdate(IntUnaryOperator updateFunction)
自动更新当前值与结果应用给定的函数,返回前一个值。
int
incrementAndGet()
原子逐个增加电流值。
int
intValue()
作为一个
int
返回该AtomicInteger
价值。void
lazySet(int newValue)
最终设置为给定的值。
long
longValue()
为扩大基本转换后的
long
返回该AtomicInteger
价值。void
set(int newValue)
给定值的集合。
String
toString()
返回当前值的字符串表示形式。
int
updateAndGet(IntUnaryOperator updateFunction)
自动更新当前值与结果应用给定的函数,返回更新后的值。
boolean
weakCompareAndSet(int expect, int update)
自动设置的值来指定更新值,如果电流值
==
期望值。-
Methods inherited from class java.lang.Number
byteValue, shortValue
-
-
-
-
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
-两参数无副作用的功能结果
更新后的值
从以下版本开始:
一点八
-
intValue
public int intValue()
作为一个
int
返回该AtomicInteger
价值。Specified by:
结果
这代表的对象转换为数值型
int
后。
-
longValue
public long longValue()
为扩大基本转换后的
long
返回该AtomicInteger
价值。Specified by:
结果
这代表的对象转换为数值型
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扩大原始转换
-
-