AI-generated Key Takeaways
-
AtomicBooleanprovides a way to update abooleanvalue atomically, ensuring thread safety during concurrent operations. -
It offers methods like
compareAndSet,get, andsetfor manipulating the boolean value in a thread-safe manner. -
AtomicBooleanis commonly used for atomically updated flags but cannot be used as a replacement for a regularBooleanobject. -
Constructors allow initialization with a specific boolean value or a default value of
false. -
weakCompareAndSetis available but should be used cautiously due to its potential for spurious failures and lack of ordering guarantees.
A boolean value that may be updated atomically. See the
java.util.concurrent.atomic package specification for
description of the properties of atomic variables. An
AtomicBoolean is used in applications such as atomically
updated flags, and cannot be used as a replacement for a
Boolean.
Public Constructor Summary
|
AtomicBoolean(boolean initialValue)
Creates a new
AtomicBoolean with the given initial value. |
|
|
AtomicBoolean()
Creates a new
AtomicBoolean with initial value false. |
Public Method Summary
| final boolean |
compareAndSet(boolean expect, boolean update)
Atomically sets the value to the given updated value
if the current value
== the expected value. |
| final boolean |
get()
Returns the current value.
|
| final boolean |
getAndSet(boolean newValue)
Atomically sets to the given value and returns the previous value.
|
| final void |
lazySet(boolean newValue)
Eventually sets to the given value.
|
| final void |
set(boolean newValue)
Unconditionally sets to the given value.
|
| String |
toString()
Returns the String representation of the current value.
|
| boolean |
weakCompareAndSet(boolean expect, boolean update)
Atomically sets the value to the given updated value
if the current value
== the expected value. |
Inherited Method Summary
Public Constructors
public AtomicBoolean (boolean initialValue)
Creates a new AtomicBoolean with the given initial value.
Parameters
| initialValue | the initial value |
|---|
public AtomicBoolean ()
Creates a new AtomicBoolean with initial value false.
Public Methods
public final boolean compareAndSet (boolean expect, boolean update)
Atomically sets the value to the given updated value
if the current value == the expected value.
Parameters
| expect | the expected value |
|---|---|
| update | the new value |
Returns
trueif successful. False return indicates that the actual value was not equal to the expected value.
public final boolean get ()
Returns the current value.
Returns
- the current value
public final boolean getAndSet (boolean newValue)
Atomically sets to the given value and returns the previous value.
Parameters
| newValue | the new value |
|---|
Returns
- the previous value
public final void lazySet (boolean newValue)
Eventually sets to the given value.
Parameters
| newValue | the new value |
|---|
public final void set (boolean newValue)
Unconditionally sets to the given value.
Parameters
| newValue | the new value |
|---|
public String toString ()
Returns the String representation of the current value.
Returns
- the String representation of the current value
public boolean weakCompareAndSet (boolean expect, boolean update)
Atomically sets the value to the given updated value
if the current value == the expected value.
May fail
spuriously and does not provide ordering guarantees, so is
only rarely an appropriate alternative to compareAndSet.
Parameters
| expect | the expected value |
|---|---|
| update | the new value |
Returns
trueif successful