No cache version.
Caching disabled. Default setting for this page:enabled (code LNG204)If the display is too slow, you can disable the user mode to view the cached version.
- java.lang.Object
-
- java.util.concurrent.atomic.AtomicReferenceArray<E>
-
- Type Parameters:
E
- The base class of elements held in this array
- All Implemented Interfaces:
- Serializable
public class AtomicReferenceArray<E> extends Object implements Serializable
An array of object references in which elements may be updated atomically. See thejava.util.concurrent.atomic
package specification for description of the properties of atomic variables.- Since:
- 1.5
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description AtomicReferenceArray(E[] array)
Creates a new AtomicReferenceArray with the same length as, and all elements copied from, the given array.AtomicReferenceArray(int length)
Creates a new AtomicReferenceArray of the given length, with all elements initially null.
-
Method Summary
Methods Modifier and Type Method and Description boolean
compareAndSet(int i, E expect, E update)
Atomically sets the element at positioni
to the given updated value if the current value==
the expected value.E
get(int i)
Gets the current value at positioni
.E
getAndSet(int i, E newValue)
Atomically sets the element at positioni
to the given value and returns the old value.void
lazySet(int i, E newValue)
Eventually sets the element at positioni
to the given value.int
length()
Returns the length of the array.void
set(int i, E newValue)
Sets the element at positioni
to the given value.String
toString()
Returns the String representation of the current values of array.boolean
weakCompareAndSet(int i, E expect, E update)
Atomically sets the element at positioni
to the given updated value if the current value==
the expected value.
-
-
-
Constructor Detail
-
AtomicReferenceArray
public AtomicReferenceArray(int length)
Creates a new AtomicReferenceArray of the given length, with all elements initially null.- Parameters:
length
- the length of the array
-
AtomicReferenceArray
public AtomicReferenceArray(E[] array)
Creates a new AtomicReferenceArray with the same length as, and all elements copied from, the given array.- Parameters:
array
- the array to copy elements from- Throws:
NullPointerException
- if array is null
-
-
Method Detail
-
length
public final int length()
Returns the length of the array.- Returns:
- the length of the array
-
get
public final E get(int i)
Gets the current value at positioni
.- Parameters:
i
- the index- Returns:
- the current value
-
set
public final void set(int i, E newValue)
Sets the element at positioni
to the given value.- Parameters:
i
- the indexnewValue
- the new value
-
lazySet
public final void lazySet(int i, E newValue)
Eventually sets the element at positioni
to the given value.- Parameters:
i
- the indexnewValue
- the new value- Since:
- 1.6
-
getAndSet
public final E getAndSet(int i, E newValue)
Atomically sets the element at positioni
to the given value and returns the old value.- Parameters:
i
- the indexnewValue
- the new value- Returns:
- the previous value
-
compareAndSet
public final boolean compareAndSet(int i, E expect, E update)
Atomically sets the element at positioni
to the given updated value if the current value==
the expected value.- Parameters:
i
- the indexexpect
- the expected valueupdate
- the new value- Returns:
- true if successful. False return indicates that the actual value was not equal to the expected value.
-
weakCompareAndSet
public final boolean weakCompareAndSet(int i, E expect, E update)
Atomically sets the element at positioni
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:
i
- the indexexpect
- the expected valueupdate
- the new value- Returns:
- true if successful.
-
-
Can not display this page of the Infobrol website
Type of error (18-01)
Unknown format specifier "&"Please try again in a few minutes…
Steph