|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.rit.pj.reduction.SharedByteArray
public class SharedByteArray
Class SharedByteArray provides an array reduction variable with elements of type byte.
Class SharedByteArray is multiple thread safe. The methods use lock-free atomic compare-and-set.
Note: Class SharedByteArray is implemented using class java.util.concurrent.atomic.AtomicIntegerArray. Each byte array element is stored as an int whose values are restricted to the range of type byte.
| Constructor Summary | |
|---|---|
SharedByteArray(byte[] array)
Construct a new byte array reduction variable whose elements are copied from the given array. |
|
SharedByteArray(int len)
Construct a new byte array reduction variable with the given length. |
|
| Method Summary | |
|---|---|
byte |
addAndGet(int i,
byte value)
Add the given value to this array reduction variable at the given index and return the new value. |
boolean |
compareAndSet(int i,
byte expect,
byte update)
Atomically set this array reduction variable at the given index to the given updated value if the current value equals the expected value. |
byte |
decrementAndGet(int i)
Subtract one from this array reduction variable at the given index and return the new value. |
byte |
get(int i)
Returns this array reduction variable's current value at the given index. |
byte |
getAndAdd(int i,
byte value)
Add the given value to this array reduction variable at the given index and return the previous value. |
byte |
getAndDecrement(int i)
Subtract one from this array reduction variable at the given index and return the previous value. |
byte |
getAndIncrement(int i)
Add one to this array reduction variable at the given index and return the previous value. |
byte |
getAndSet(int i,
byte value)
Set this array reduction variable at the given index to the given value and return the previous value. |
byte |
incrementAndGet(int i)
Add one to this array reduction variable at the given index and return the new value. |
int |
length()
Returns this array reduction variable's length. |
void |
reduce(byte[] src,
ByteOp op)
Combine this array reduction variable with the given array using the given operation. |
void |
reduce(int dstoff,
byte[] src,
int srcoff,
int len,
ByteOp op)
Combine a portion of this array reduction variable with a portion of the given array using the given operation. |
byte |
reduce(int i,
byte value,
ByteOp op)
Combine this array reduction variable at the given index with the given value using the given operation. |
void |
set(int i,
byte value)
Set this array reduction variable at the given index to the given value. |
String |
toString()
Returns a string version of this array reduction variable. |
boolean |
weakCompareAndSet(int i,
byte expect,
byte update)
Atomically set this array reduction variable at the given index to the given updated value if the current value equals the expected value. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public SharedByteArray(int len)
len - Length.
NegativeArraySizeException - (unchecked exception) Thrown if len < 0.public SharedByteArray(byte[] array)
array - Array to copy.
NullPointerException - (unchecked exception) Thrown if array is null.| Method Detail |
|---|
public int length()
public byte get(int i)
i - Index.
public void set(int i,
byte value)
i - Index.value - New value.
public byte getAndSet(int i,
byte value)
i - Index.value - New value.
public boolean compareAndSet(int i,
byte expect,
byte update)
i - Index.expect - Expected value.update - Updated value.
public boolean weakCompareAndSet(int i,
byte expect,
byte update)
i - Index.expect - Expected value.update - Updated value.
public byte getAndIncrement(int i)
i - Index.
public byte getAndDecrement(int i)
i - Index.
public byte getAndAdd(int i,
byte value)
i - Index.value - Value to add.
public byte incrementAndGet(int i)
i - Index.
public byte decrementAndGet(int i)
i - Index.
public byte addAndGet(int i,
byte value)
i - Index.value - Value to add.
public byte reduce(int i,
byte value,
ByteOp op)
i - Index.value - Value.op - Binary operation.
public void reduce(byte[] src,
ByteOp op)
The reduce() method is multiple thread safe on a per-element basis. Each individual array element is updated atomically, but the array as a whole is not updated atomically.
src - Source array.op - Binary operation.
NullPointerException - (unchecked exception) Thrown if src is null. Thrown if
op is null.
IndexOutOfBoundsException - (unchecked exception) Thrown if any array index would be out of
bounds.
public void reduce(int dstoff,
byte[] src,
int srcoff,
int len,
ByteOp op)
The reduce() method is multiple thread safe on a per-element basis. Each individual array element is updated atomically, but the array as a whole is not updated atomically.
dstoff - Index of first element to update in this array.src - Source array.srcoff - Index of first element to update from in the source
array.len - Number of array elements to update.op - Binary operation.
NullPointerException - (unchecked exception) Thrown if src is null. Thrown if
op is null.
IndexOutOfBoundsException - (unchecked exception) Thrown if len < 0. Thrown if any
array index would be out of bounds.public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||