java.lang.Object
java.util.concurrent.atomic.AtomicBoolean
- すべての実装されたインタフェース:
Serializable
public class AtomicBoolean extends Object implements Serializable
原子的な更新が可能な
boolean
値です。 アトミック・アクセスのプロパティについては、VarHandle
仕様を参照してください。 AtomicBoolean
は、原子的に更新されるフラグなどのアプリケーションで使用されます。これをBoolean
の代替として使用することはできません。 - 導入されたバージョン:
- 1.5
- 関連項目:
- 直列化された形式
-
コンストラクタのサマリー
コンストラクタ説明初期値false
を使って、新しいAtomicBoolean
を作成します。AtomicBoolean(boolean initialValue)
指定された初期値を使って、新しいAtomicBoolean
を作成します。 -
メソッドのサマリー
修飾子と型メソッド説明boolean
compareAndExchange(boolean expectedValue, boolean newValue)
「証人の価値」、== expectedValue
と呼ばれる現在の値がnewValue
に原子的に設定され、VarHandle.compareAndExchange(java.lang.Object...)
で指定されたメモリー効果が適用されます。boolean
compareAndExchangeAcquire(boolean expectedValue, boolean newValue)
「証人の価値」、== expectedValue
と呼ばれる現在の値がnewValue
に原子的に設定され、VarHandle.compareAndExchangeAcquire(java.lang.Object...)
で指定されたメモリー効果が適用されます。boolean
compareAndExchangeRelease(boolean expectedValue, boolean newValue)
「証人の価値」、== expectedValue
と呼ばれる現在の値がnewValue
に原子的に設定され、VarHandle.compareAndExchangeRelease(java.lang.Object...)
で指定されたメモリー効果が適用されます。boolean
compareAndSet(boolean expectedValue, boolean newValue)
現在の値== expectedValue
がnewValue
に値を原子的に設定します。VarHandle.compareAndSet(java.lang.Object...)
で指定されたメモリー効果があります。boolean
get()
VarHandle.getVolatile(java.lang.Object...)
で指定されたメモリー効果を持つ現在の値を返します。boolean
VarHandle.getAcquire(java.lang.Object...)
で指定されたメモリー効果を持つ現在の値を返します。boolean
getAndSet(boolean newValue)
この値を原子的にnewValue
に設定し、VarHandle.getAndSet(java.lang.Object...)
で指定されたメモリー効果で古い値を返します。boolean
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...)
で指定されたメモリー効果を設定します。toString()
現在値の文字列表記を返します。boolean
weakCompareAndSet(boolean expectedValue, boolean newValue)
非推奨。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...)
で指定されたメモリー効果が適用されます。
-
コンストラクタの詳細
-
AtomicBoolean
public AtomicBoolean(boolean initialValue)指定された初期値を使って、新しいAtomicBoolean
を作成します。- パラメータ:
initialValue
- 初期値
-
AtomicBoolean
public AtomicBoolean()初期値false
を使って、新しいAtomicBoolean
を作成します。
-
-
メソッドの詳細
-
get
public final boolean get()VarHandle.getVolatile(java.lang.Object...)
で指定されたメモリー効果を持つ現在の値を返します。- 戻り値:
- 現行値
-
compareAndSet
public final boolean compareAndSet(boolean expectedValue, boolean newValue)現在の値== expectedValue
がnewValue
に値を原子的に設定します。VarHandle.compareAndSet(java.lang.Object...)
で指定されたメモリー効果があります。- パラメータ:
expectedValue
- 期待値newValue
- 新しい値- 戻り値:
- 成功する場合は
true
。 falseは、実際の値が予想される値と等価ではないことを示す。
-
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
- 新しい値- 戻り値:
- 前の値
-
toString
public String 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...)
で指定されたメモリー効果を持つ現在の値を返します。- 戻り値:
- 値
- 導入されたバージョン:
- 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)「証人の価値」、== expectedValue
と呼ばれる現在の値がnewValue
に原子的に設定され、VarHandle.compareAndExchange(java.lang.Object...)
で指定されたメモリー効果が適用されます。- パラメータ:
expectedValue
- 期待値newValue
- 新しい値- 戻り値:
- 目撃者の価値は、成功した場合の期待値と同じです
- 導入されたバージョン:
- 9
-
compareAndExchangeAcquire
public final boolean compareAndExchangeAcquire(boolean expectedValue, boolean newValue)「証人の価値」、== expectedValue
と呼ばれる現在の値がnewValue
に原子的に設定され、VarHandle.compareAndExchangeAcquire(java.lang.Object...)
で指定されたメモリー効果が適用されます。- パラメータ:
expectedValue
- 期待値newValue
- 新しい値- 戻り値:
- 目撃者の価値は、成功した場合の期待値と同じです
- 導入されたバージョン:
- 9
-
compareAndExchangeRelease
public final boolean compareAndExchangeRelease(boolean expectedValue, boolean newValue)「証人の価値」、== expectedValue
と呼ばれる現在の値がnewValue
に原子的に設定され、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
-
compareAndExchange(boolean, boolean)
やcompareAndSet(boolean, boolean)
などのメソッドを参照してください)を意味します。