- java.lang.Object
-
- java.util.concurrent.atomic.AtomicBoolean
-
- All Implemented Interfaces:
-
Serializable
public class AtomicBoolean extends Object implements Serializable
Aboolean
可能原子更新的值。 200新新新新200新新新新200新新新200新200新新200新200新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新新200新新新新作新新新200新新200新新新作旗新 一个AtomicBoolean
用于诸如原子更新标记的应用程序,不能用作Boolean
的替代品。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 AtomicBoolean()
创建一个新的AtomicBoolean
,初始值为false
。AtomicBoolean(boolean initialValue)
用给定的初始值创建一个新的AtomicBoolean
。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 boolean
compareAndExchange(boolean expectedValue, boolean newValue)
原子将值设置为newValue
如果当前值,被称为 证人值 ,== expectedValue
如通过指定,记忆效应VarHandle.compareAndExchange(java.lang.Object...)
。boolean
compareAndExchangeAcquire(boolean expectedValue, boolean newValue)
原子将值设置为newValue
如果当前值,被称为 证人值 ,== expectedValue
如通过指定,记忆效应VarHandle.compareAndExchangeAcquire(java.lang.Object...)
。boolean
compareAndExchangeRelease(boolean expectedValue, boolean newValue)
原子将值设置为newValue
如果当前值,被称为 证人值 ,== expectedValue
如通过指定,记忆效应VarHandle.compareAndExchangeRelease(java.lang.Object...)
。boolean
compareAndSet(boolean expectedValue, boolean newValue)
boolean
get()
返回当前值,具有VarHandle.getVolatile(java.lang.Object...)
指定的内存效果。boolean
getAcquire()
返回当前值,具有VarHandle.getAcquire(java.lang.Object...)
指定的内存效果。boolean
getAndSet(boolean newValue)
将值设置为newValue
并返回旧值,具有VarHandle.getAndSet(java.lang.Object...)
指定的内存效果。boolean
getOpaque()
返回当前值,具有VarHandle.getOpaque(java.lang.Object...)
指定的记忆效应。boolean
getPlain()
返回当前值,具有读取的内存语义,就好像变量被声明为非volatile
。void
lazySet(boolean newValue)
将值设置为newValue
,具有VarHandle.setRelease(java.lang.Object...)
指定的内存效果。void
set(boolean newValue)
将值设置为newValue
,具有VarHandle.setVolatile(java.lang.Object...)
指定的内存效果。void
setOpaque(boolean newValue)
将值设置为newValue
,具有VarHandle.setOpaque(java.lang.Object...)
指定的内存效果。void
setPlain(boolean newValue)
将值设置为newValue
,具有设置的内存语义,如同变量声明为非volatile
,非final
。void
setRelease(boolean newValue)
将值设置为newValue
,具有VarHandle.setRelease(java.lang.Object...)
指定的内存效果。String
toString()
返回当前值的String表示形式。boolean
weakCompareAndSet(boolean expectedValue, boolean newValue)
已过时。该方法具有明显的记忆效应,但方法名称表示易失性记忆效应(参见方法如compareAndExchange(boolean, boolean)
和compareAndSet(boolean, boolean)
)。 为了避免在平常或易失性记忆效应上的混乱,建议使用方法weakCompareAndSetPlain(boolean, boolean)
。boolean
weakCompareAndSetAcquire(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSetAcquire(java.lang.Object...)
。boolean
weakCompareAndSetPlain(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSetPlain(java.lang.Object...)
。boolean
weakCompareAndSetRelease(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSetRelease(java.lang.Object...)
。boolean
weakCompareAndSetVolatile(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSet(java.lang.Object...)
。
-
-
-
方法详细信息
-
get
public final boolean get()
返回当前值,具有VarHandle.getVolatile(java.lang.Object...)
指定的内存效果。- 结果
- 当前值
-
compareAndSet
public final boolean compareAndSet(boolean expectedValue, boolean newValue)
- 参数
-
expectedValue
- 期望值 -
newValue
- 新值 - 结果
-
true
如果成功。 False return表示实际值不等于预期值。
-
weakCompareAndSet
@Deprecated(since="9") public boolean weakCompareAndSet(boolean expectedValue, boolean newValue)
已过时。 该方法具有明显的记忆效应,但方法名称表示易失性记忆效应(参见方法如compareAndExchange(boolean, boolean)
和compareAndSet(boolean, boolean)
)。 为了避免在简单或易失性记忆效应上的混淆,建议使用方法weakCompareAndSetPlain(boolean, boolean)
。可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSetPlain(java.lang.Object...)
。- 参数
-
expectedValue
- 期望值 -
newValue
- 新值 - 结果
-
true
如果成功 - 另请参见:
-
weakCompareAndSetPlain(boolean, boolean)
-
weakCompareAndSetPlain
public boolean weakCompareAndSetPlain(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSetPlain(java.lang.Object...)
。- 参数
-
expectedValue
- 预期值 -
newValue
- 新值 - 结果
-
true
如果成功 - 从以下版本开始:
- 9
-
set
public final void set(boolean newValue)
将值设置为newValue
,具有VarHandle.setVolatile(java.lang.Object...)
指定的内存效果。- 参数
-
newValue
- 新值
-
lazySet
public final void lazySet(boolean newValue)
将值设置为newValue
,具有VarHandle.setRelease(java.lang.Object...)
指定的内存效果。- 参数
-
newValue
- 新值 - 从以下版本开始:
- 1.6
-
getAndSet
public final boolean getAndSet(boolean newValue)
将值设置为newValue
并返回旧值,具有VarHandle.getAndSet(java.lang.Object...)
指定的内存效果。- 参数
-
newValue
- 新值 - 结果
- 以前的值
-
getPlain
public final boolean getPlain()
返回当前值,具有读取的内存语义,就好像变量被声明为非volatile
。- 结果
- 价值
- 从以下版本开始:
- 9
-
setPlain
public final void setPlain(boolean newValue)
将值设置为newValue
,具有设置的内存语义,如同该变量被声明为非volatile
final
。- 参数
-
newValue
- 新值 - 从以下版本开始:
- 9
-
getOpaque
public final boolean getOpaque()
返回当前值,具有VarHandle.getOpaque(java.lang.Object...)
指定的内存效果。- 结果
- 价值
- 从以下版本开始:
- 9
-
setOpaque
public final void setOpaque(boolean newValue)
将值设置为newValue
,具有VarHandle.setOpaque(java.lang.Object...)
指定的内存效果。- 参数
-
newValue
- 新值 - 从以下版本开始:
- 9
-
getAcquire
public final boolean getAcquire()
返回当前值,具有VarHandle.getAcquire(java.lang.Object...)
指定的内存效果。- 结果
- 价值
- 从以下版本开始:
- 9
-
setRelease
public final void setRelease(boolean newValue)
将值设置为newValue
,具有VarHandle.setRelease(java.lang.Object...)
指定的内存效果。- 参数
-
newValue
- 新值 - 从以下版本开始:
- 9
-
compareAndExchange
public final boolean compareAndExchange(boolean expectedValue, boolean newValue)
原子将值设置为newValue
如果当前值,被称为 证人值 ,== expectedValue
如通过指定,记忆效应VarHandle.compareAndExchange(java.lang.Object...)
。- 参数
-
expectedValue
- 期望值 -
newValue
- 新值 - 结果
- 见证价值,如果成功,将与预期价值相同
- 从以下版本开始:
- 9
-
compareAndExchangeAcquire
public final boolean compareAndExchangeAcquire(boolean expectedValue, boolean newValue)
原子将值设置为newValue
如果当前值,被称为 证人值 ,== expectedValue
如通过指定,记忆效应VarHandle.compareAndExchangeAcquire(java.lang.Object...)
。- 参数
-
expectedValue
- 期望值 -
newValue
- 新值 - 结果
- 见证价值,如果成功,将与预期价值相同
- 从以下版本开始:
- 9
-
compareAndExchangeRelease
public final boolean compareAndExchangeRelease(boolean expectedValue, boolean newValue)
原子将值设置为newValue
如果当前值,被称为 证人值 ,== expectedValue
如通过指定,记忆效应VarHandle.compareAndExchangeRelease(java.lang.Object...)
。- 参数
-
expectedValue
- 期望值 -
newValue
- 新值 - 结果
- 见证价值,如果成功,将与预期价值相同
- 从以下版本开始:
- 9
-
weakCompareAndSetVolatile
public final boolean weakCompareAndSetVolatile(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSet(java.lang.Object...)
。- 参数
-
expectedValue
- 期望值 -
newValue
- 新值 - 结果
-
true
如果成功 - 从以下版本开始:
- 9
-
weakCompareAndSetAcquire
public final boolean weakCompareAndSetAcquire(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSetAcquire(java.lang.Object...)
。- 参数
-
expectedValue
- 预期值 -
newValue
- 新值 - 结果
-
true
如果成功 - 从以下版本开始:
- 9
-
weakCompareAndSetRelease
public final boolean weakCompareAndSetRelease(boolean expectedValue, boolean newValue)
可能原子将值设置为newValue
如果当前值== expectedValue
如通过指定,记忆效应VarHandle.weakCompareAndSetRelease(java.lang.Object...)
。- 参数
-
expectedValue
- 预期值 -
newValue
- 新值 - 结果
-
true
如果成功 - 从以下版本开始:
- 9
-
-