EDU.oswego.cs.dl.util.concurrent

Class SynchronizedShort

public class SynchronizedShort extends SynchronizedVariable implements Comparable, Cloneable

A class useful for offloading synch for short instance variables.

[ Introduction to this package. ]

Field Summary
protected shortvalue_
Constructor Summary
SynchronizedShort(short initialValue)
Make a new SynchronizedShort with the given initial value, and using its own internal lock.
SynchronizedShort(short initialValue, Object lock)
Make a new SynchronizedShort with the given initial value, and using the supplied lock.
Method Summary
shortadd(short amount)
Add amount to value (i.e., set value += amount)
shortand(short b)
Set value to value & b.
booleancommit(short assumedValue, short newValue)
Set value to newValue only if it is currently assumedValue.
intcompareTo(short other)
intcompareTo(SynchronizedShort other)
intcompareTo(Object other)
shortcomplement()
Set the value to its complement
shortdecrement()
Decrement the value.
shortdivide(short factor)
Divide value by factor (i.e., set value /= factor)
booleanequals(Object other)
shortget()
Return the current value
inthashCode()
shortincrement()
Increment the value.
shortmultiply(short factor)
Multiply value by factor (i.e., set value *= factor)
shortnegate()
Set the value to the negative of its old value
shortor(short b)
Set value to value | b.
shortset(short newValue)
Set to newValue.
shortsubtract(short amount)
Subtract amount from value (i.e., set value -= amount)
shortswap(SynchronizedShort other)
Atomically swap values with another SynchronizedShort.
StringtoString()
shortxor(short b)
Set value to value ^ b.

Field Detail

value_

protected short value_

Constructor Detail

SynchronizedShort

public SynchronizedShort(short initialValue)
Make a new SynchronizedShort with the given initial value, and using its own internal lock.

SynchronizedShort

public SynchronizedShort(short initialValue, Object lock)
Make a new SynchronizedShort with the given initial value, and using the supplied lock.

Method Detail

add

public short add(short amount)
Add amount to value (i.e., set value += amount)

Returns: the new value

and

public short and(short b)
Set value to value & b.

Returns: the new value

commit

public boolean commit(short assumedValue, short newValue)
Set value to newValue only if it is currently assumedValue.

Returns: true if successful

compareTo

public int compareTo(short other)

compareTo

public int compareTo(SynchronizedShort other)

compareTo

public int compareTo(Object other)

complement

public short complement()
Set the value to its complement

Returns: the new value

decrement

public short decrement()
Decrement the value.

Returns: the new value

divide

public short divide(short factor)
Divide value by factor (i.e., set value /= factor)

Returns: the new value

equals

public boolean equals(Object other)

get

public final short get()
Return the current value

hashCode

public int hashCode()

increment

public short increment()
Increment the value.

Returns: the new value

multiply

public short multiply(short factor)
Multiply value by factor (i.e., set value *= factor)

Returns: the new value

negate

public short negate()
Set the value to the negative of its old value

Returns: the new value

or

public short or(short b)
Set value to value | b.

Returns: the new value

set

public short set(short newValue)
Set to newValue.

Returns: the old value

subtract

public short subtract(short amount)
Subtract amount from value (i.e., set value -= amount)

Returns: the new value

swap

public short swap(SynchronizedShort other)
Atomically swap values with another SynchronizedShort. Uses identityHashCode to avoid deadlock when two SynchronizedShorts attempt to simultaneously swap with each other. (Note: Ordering via identyHashCode is not strictly guaranteed by the language specification to return unique, orderable values, but in practice JVMs rely on them being unique.)

Returns: the new value

toString

public String toString()

xor

public short xor(short b)
Set value to value ^ b.

Returns: the new value