EDU.oswego.cs.dl.util.concurrent

Class SynchronizedShort

Implemented Interfaces:
Cloneable, Comparable, Executor
Known Direct Subclasses:
WaitableShort

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 short
value_

Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable

lock_

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

short
add(short amount)
Add amount to value (i.e., set value += amount)
short
and(short b)
Set value to value & b.
boolean
commit(short assumedValue, short newValue)
Set value to newValue only if it is currently assumedValue.
int
compareTo(SynchronizedShort other)
int
compareTo(Object other)
int
compareTo(short other)
short
complement()
Set the value to its complement
short
decrement()
Decrement the value.
short
divide(short factor)
Divide value by factor (i.e., set value /= factor)
boolean
equals(Object other)
short
get()
Return the current value
int
hashCode()
short
increment()
Increment the value.
short
multiply(short factor)
Multiply value by factor (i.e., set value *= factor)
short
negate()
Set the value to the negative of its old value
short
or(short b)
Set value to value | b.
short
set(short newValue)
Set to newValue.
short
subtract(short amount)
Subtract amount from value (i.e., set value -= amount)
short
swap(SynchronizedShort other)
Atomically swap values with another SynchronizedShort.
String
toString()
short
xor(short b)
Set value to value ^ b.

Methods inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable

execute, getLock

Field Details

value_

protected short value_

Constructor Details

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 Details

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(SynchronizedShort other)


compareTo

public int compareTo(Object other)


compareTo

public int compareTo(short 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