クラスAtomicBoolean

java.lang.Object
java.util.concurrent.atomic.AtomicBoolean
すべての実装されたインタフェース:
Serializable

public class AtomicBoolean extends Object implements Serializable
原子的な更新が可能なboolean値です。 アトミック・アクセスのプロパティの詳細は、VarHandle仕様を参照してください。 AtomicBooleanは、原子的に更新されるフラグなどのアプリケーションで使用されます。これをBooleanの代替として使用することはできません。
導入されたバージョン:
1.5
関連項目:
  • コンストラクタの詳細

    • AtomicBoolean

      public AtomicBoolean(boolean initialValue)
      指定された初期値を使って、新しいAtomicBooleanを作成します。
      パラメータ:
      initialValue - 初期値
    • AtomicBoolean

      public AtomicBoolean()
      初期値falseを使って、新しいAtomicBooleanを作成します。
  • メソッドの詳細

    • get

      public final boolean get()
      VarHandle.getVolatile(Object...)で指定されたメモリー効果を使用して、現在の値を返します。
      戻り値:
      現行値
    • compareAndSet

      public final boolean compareAndSet(boolean expectedValue, boolean newValue)
      現在の値が== expectedValueの場合は、VarHandle.compareAndSet(Object...)で指定されたメモリー効果を使用して、この値を原子的にnewValueに設定します。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合はtrue falseは、実際の値が予想される値と等価ではないことを示す。
    • weakCompareAndSet

      @Deprecated(since="9") public boolean weakCompareAndSet(boolean expectedValue, boolean newValue)
      非推奨。
      このメソッドは単純なメモリー効果を持ちますが、メソッド名は揮発性メモリー効果(compareAndExchange(boolean, boolean)compareAndSet(boolean, boolean)などのメソッドを参照してください)を意味します。 プレーンまたは揮発性メモリー効果の混乱を避けるために、代わりにweakCompareAndSetPlain(boolean, boolean)メソッドを使用することをお勧めします。
      現在の値が== expectedValueの場合は、VarHandle.weakCompareAndSetPlain(Object...)で指定されたメモリー効果で、アトミックに値がnewValueに設定される可能性があります。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合はtrue
      関連項目:
    • weakCompareAndSetPlain

      public boolean weakCompareAndSetPlain(boolean expectedValue, boolean newValue)
      現在の値が== expectedValueの場合は、VarHandle.weakCompareAndSetPlain(Object...)で指定されたメモリー効果で、アトミックに値がnewValueに設定される可能性があります。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合はtrue
      導入されたバージョン:
      9
    • set

      public final void set(boolean newValue)
      VarHandle.setVolatile(Object...)で指定されたメモリー効果を使用して、値をnewValueに設定します。
      パラメータ:
      newValue - 新しい値
    • lazySet

      public final void lazySet(boolean newValue)
      VarHandle.setRelease(Object...)で指定されたメモリー効果を使用して、値をnewValueに設定します。
      パラメータ:
      newValue - 新しい値
      導入されたバージョン:
      1.6
    • getAndSet

      public final boolean getAndSet(boolean newValue)
      原子的に値をnewValueに設定し、VarHandle.getAndSet(Object...)で指定されたメモリー効果で古い値を返します。
      パラメータ:
      newValue - 新しい値
      戻り値:
      前の値
    • toString

      public String toString()
      現在値の文字列表記を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      現在値の文字列表現。
    • 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(Object...)で指定されたメモリー効果を使用して、現在の値を返します。
      戻り値:
      導入されたバージョン:
      9
    • setOpaque

      public final void setOpaque(boolean newValue)
      VarHandle.setOpaque(Object...)で指定されたメモリー効果を使用して、値をnewValueに設定します。
      パラメータ:
      newValue - 新しい値
      導入されたバージョン:
      9
    • getAcquire

      public final boolean getAcquire()
      VarHandle.getAcquire(Object...)で指定されたメモリー効果を使用して、現在の値を返します。
      戻り値:
      導入されたバージョン:
      9
    • setRelease

      public final void setRelease(boolean newValue)
      VarHandle.setRelease(Object...)で指定されたメモリー効果を使用して、値をnewValueに設定します。
      パラメータ:
      newValue - 新しい値
      導入されたバージョン:
      9
    • compareAndExchange

      public final boolean compareAndExchange(boolean expectedValue, boolean newValue)
      witness value (== expectedValue)と呼ばれる現在の値が、VarHandle.compareAndExchange(Object...)で指定されたメモリー効果を持つ場合に、アトミックに値をnewValueに設定します。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合に必要な値と同じになる「証人の価値」
      導入されたバージョン:
      9
    • compareAndExchangeAcquire

      public final boolean compareAndExchangeAcquire(boolean expectedValue, boolean newValue)
      witness value (== expectedValue)と呼ばれる現在の値が、VarHandle.compareAndExchangeAcquire(Object...)で指定されたメモリー効果を持つ場合に、アトミックに値をnewValueに設定します。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合に必要な値と同じになる「証人の価値」
      導入されたバージョン:
      9
    • compareAndExchangeRelease

      public final boolean compareAndExchangeRelease(boolean expectedValue, boolean newValue)
      witness value (== expectedValue)と呼ばれる現在の値が、VarHandle.compareAndExchangeRelease(Object...)で指定されたメモリー効果を持つ場合に、アトミックに値をnewValueに設定します。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合に必要な値と同じになる「証人の価値」
      導入されたバージョン:
      9
    • weakCompareAndSetVolatile

      public final boolean weakCompareAndSetVolatile(boolean expectedValue, boolean newValue)
      現在の値が== expectedValueの場合は、VarHandle.weakCompareAndSet(Object...)で指定されたメモリー効果で、アトミックに値がnewValueに設定される可能性があります。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合はtrue
      導入されたバージョン:
      9
    • weakCompareAndSetAcquire

      public final boolean weakCompareAndSetAcquire(boolean expectedValue, boolean newValue)
      現在の値が== expectedValueの場合は、VarHandle.weakCompareAndSetAcquire(Object...)で指定されたメモリー効果で、アトミックに値がnewValueに設定される可能性があります。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合はtrue
      導入されたバージョン:
      9
    • weakCompareAndSetRelease

      public final boolean weakCompareAndSetRelease(boolean expectedValue, boolean newValue)
      現在の値が== expectedValueの場合は、VarHandle.weakCompareAndSetRelease(Object...)で指定されたメモリー効果で、アトミックに値がnewValueに設定される可能性があります。
      パラメータ:
      expectedValue - 期待値
      newValue - 新しい値
      戻り値:
      成功した場合はtrue
      導入されたバージョン:
      9