java.lang.Object
java.util.concurrent.atomic.AtomicBoolean
- 所有已实现的接口:
-
Serializable
- 自版本:
- 1.5
- 另请参阅:
-
Constructor Summary
ConstructorDescription创建一个初始值为false
的新AtomicBoolean
。AtomicBoolean
(boolean initialValue) 创建一个给定初始值的新AtomicBoolean
。 -
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
compareAndExchange
(boolean expectedValue, boolean newValue) final boolean
compareAndExchangeAcquire
(boolean expectedValue, boolean newValue) 如果当前值,称为见证值,== 期望值
,则以原子方式将值设置为newValue
,具有VarHandle.compareAndExchangeAcquire(java.lang.Object...)
指定的内存效果。final boolean
compareAndExchangeRelease
(boolean expectedValue, boolean newValue) 如果当前值,称为见证值,== 期望值
,则以原子方式将值设置为newValue
,具有VarHandle.compareAndExchangeRelease(java.lang.Object...)
指定的内存效果。final boolean
compareAndSet
(boolean expectedValue, boolean newValue) final boolean
get()
返回当前值,具有VarHandle.getVolatile(java.lang.Object...)
指定的内存效果。final boolean
返回当前值,具有VarHandle.getAcquire(java.lang.Object...)
指定的内存效果。final boolean
getAndSet
(boolean newValue) 以原子方式将值设置为newValue
并返回旧值,具有VarHandle.getAndSet(java.lang.Object...)
指定的内存效果。final boolean
返回当前值,具有VarHandle.getOpaque(java.lang.Object...)
指定的内存效果。final boolean
getPlain()
返回当前值,具有读取内存语义,就好像变量被声明为非volatile
。final void
lazySet
(boolean newValue) 将值设置为newValue
,具有VarHandle.setRelease(java.lang.Object...)
指定的内存效果。final void
set
(boolean newValue) 将值设置为newValue
,具有VarHandle.setVolatile(java.lang.Object...)
指定的内存效果。final void
setOpaque
(boolean newValue) 将值设置为newValue
,具有VarHandle.setOpaque(java.lang.Object...)
指定的内存效果。final void
setPlain
(boolean newValue) 将值设置为newValue
,具有设置内存语义,就好像变量被声明为非volatile
和非final
。final void
setRelease
(boolean newValue) 将值设置为newValue
,具有VarHandle.setRelease(java.lang.Object...)
指定的内存效果。toString()
返回当前值的字符串表示形式。boolean
weakCompareAndSet
(boolean expectedValue, boolean newValue) 已弃用。final boolean
weakCompareAndSetAcquire
(boolean expectedValue, boolean newValue) boolean
weakCompareAndSetPlain
(boolean expectedValue, boolean newValue) final boolean
weakCompareAndSetRelease
(boolean expectedValue, boolean newValue) final boolean
weakCompareAndSetVolatile
(boolean expectedValue, boolean newValue)
-
Constructor Details
-
AtomicBoolean
public AtomicBoolean(boolean initialValue) 创建一个给定初始值的新AtomicBoolean
。- 参数:
-
initialValue
- 初始值
-
AtomicBoolean
public AtomicBoolean()创建一个初始值为false
的新AtomicBoolean
。
-
-
Method Details
-
get
public final boolean get()返回当前值,具有VarHandle.getVolatile(java.lang.Object...)
指定的内存效果。- 返回:
- 当前值
-
compareAndSet
public final boolean compareAndSet(boolean expectedValue, boolean newValue) - 参数:
-
expectedValue
- 期望值 -
newValue
- 新值 - 返回:
-
如果成功则返回
true
。返回false
表示实际值不等于期望值。
-
weakCompareAndSet
Deprecated.This method has plain memory effects but the method name implies volatile memory effects (see methods such ascompareAndExchange(boolean, boolean)
andcompareAndSet(boolean, boolean)
). To avoid confusion over plain or volatile memory effects it is recommended that the methodweakCompareAndSetPlain(boolean, boolean)
be used instead.- 参数:
-
expectedValue
- 期望值 -
newValue
- 新值 - 返回:
-
如果成功则返回
true
- 另请参阅:
-
weakCompareAndSetPlain
public boolean weakCompareAndSetPlain(boolean expectedValue, boolean newValue) - 参数:
-
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
- 新值 - 返回:
- 先前的值
-
toString
返回当前值的字符串表示形式。 -
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...)
指定的内存效果。- 返回值:
- 值
- 自 JDK 版本:
- 9
-
setOpaque
public final void setOpaque(boolean newValue) 将值设置为newValue
,具有由VarHandle.setOpaque(java.lang.Object...)
指定的内存效果。- 参数:
-
newValue
- 新值 - 自 JDK 版本:
- 9
-
getAcquire
public final boolean getAcquire()返回当前值,具有由VarHandle.getAcquire(java.lang.Object...)
指定的内存效果。- 返回值:
- 值
- 自 JDK 版本:
- 9
-
setRelease
public final void setRelease(boolean newValue) 将值设置为newValue
,具有由VarHandle.setRelease(java.lang.Object...)
指定的内存效果。- 参数:
-
newValue
- 新值 - 自 JDK 版本:
- 9
-
compareAndExchange
public final boolean compareAndExchange(boolean expectedValue, boolean newValue) 如果当前值(称为 见证值)== expectedValue
,则使用由VarHandle.compareAndExchange(java.lang.Object...)
指定的内存效果原子地将值设置为newValue
。- 参数:
-
expectedValue
- 期望的值 -
newValue
- 新值 - 返回值:
- 见证值,如果成功将与期望值相同
- 自 JDK 版本:
- 9
-
compareAndExchangeAcquire
public final boolean compareAndExchangeAcquire(boolean expectedValue, boolean newValue) 如果当前值(称为 见证值)== expectedValue
,则使用由VarHandle.compareAndExchangeAcquire(java.lang.Object...)
指定的内存效果原子地将值设置为newValue
。- 参数:
-
expectedValue
- 期望的值 -
newValue
- 新值 - 返回值:
- 见证值,如果成功将与期望值相同
- 自 JDK 版本:
- 9
-
compareAndExchangeRelease
public final boolean compareAndExchangeRelease(boolean expectedValue, boolean newValue) 如果当前值(称为 见证值)== expectedValue
,则使用由VarHandle.compareAndExchangeRelease(java.lang.Object...)
指定的内存效果原子地将值设置为newValue
。- 参数:
-
expectedValue
- 期望的值 -
newValue
- 新值 - 返回值:
- 见证值,如果成功将与期望值相同
- 自 JDK 版本:
- 9
-
weakCompareAndSetVolatile
public final boolean weakCompareAndSetVolatile(boolean expectedValue, boolean newValue) 如果当前值== expectedValue
,则使用由VarHandle.weakCompareAndSet(java.lang.Object...)
指定的内存效果可能原子地将值设置为newValue
。- 参数:
-
expectedValue
- 期望的值 -
newValue
- 新值 - 返回值:
-
如果成功则为
true
- 自 JDK 版本:
- 9
-
weakCompareAndSetAcquire
public final boolean weakCompareAndSetAcquire(boolean expectedValue, boolean newValue) 如果当前值== expectedValue
,则使用由VarHandle.weakCompareAndSetAcquire(java.lang.Object...)
指定的内存效果可能原子地将值设置为newValue
。- 参数:
-
expectedValue
- 期望的值 -
newValue
- 新值 - 返回值:
-
如果成功则为
true
- 自 JDK 版本:
- 9
-
weakCompareAndSetRelease
public final boolean weakCompareAndSetRelease(boolean expectedValue, boolean newValue) 如果当前值== expectedValue
,则使用由VarHandle.weakCompareAndSetRelease(java.lang.Object...)
指定的内存效果可能原子地将值设置为newValue
。- 参数:
-
expectedValue
- 期望的值 -
newValue
- 新值 - 返回值:
-
如果成功则为
true
- 自 JDK 版本:
- 9
-
compareAndExchange(boolean, boolean)
和compareAndSet(boolean, boolean)
等方法)。