EDU.oswego.cs.dl.util.concurrent
Class SynchronizedChar
- Cloneable, Comparable, Executor
public class SynchronizedChar
implements Comparable, Cloneable
SynchronizedChar(char initialValue) - Make a new SynchronizedChar with the given initial value,
and using its own internal lock.
|
SynchronizedChar(char initialValue, Object lock) - Make a new SynchronizedChar with the given initial value,
and using the supplied lock.
|
char | add(char amount) - Add amount to value (i.e., set value += amount)
|
boolean | commit(char assumedValue, char newValue) - Set value to newValue only if it is currently assumedValue.
|
int | compareTo(SynchronizedChar other)
|
int | compareTo(Object other)
|
int | compareTo(char other)
|
char | divide(char factor) - Divide value by factor (i.e., set value /= factor)
|
boolean | equals(Object other)
|
char | get() - Return the current value
|
int | hashCode()
|
char | multiply(char factor) - Multiply value by factor (i.e., set value *= factor)
|
char | set(char newValue) - Set to newValue.
|
char | subtract(char amount) - Subtract amount from value (i.e., set value -= amount)
|
char | swap(SynchronizedChar other) - Atomically swap values with another SynchronizedChar.
|
String | toString()
|
value_
protected char value_
SynchronizedChar
public SynchronizedChar(char initialValue)
Make a new SynchronizedChar with the given initial value,
and using its own internal lock.
SynchronizedChar
public SynchronizedChar(char initialValue,
Object lock)
Make a new SynchronizedChar with the given initial value,
and using the supplied lock.
add
public char add(char amount)
Add amount to value (i.e., set value += amount)
- the new value
commit
public boolean commit(char assumedValue,
char newValue)
Set value to newValue only if it is currently assumedValue.
- true if successful
compareTo
public int compareTo(Object other)
compareTo
public int compareTo(char other)
divide
public char divide(char factor)
Divide value by factor (i.e., set value /= factor)
- the new value
equals
public boolean equals(Object other)
get
public final char get()
Return the current value
hashCode
public int hashCode()
multiply
public char multiply(char factor)
Multiply value by factor (i.e., set value *= factor)
- the new value
set
public char set(char newValue)
Set to newValue.
- the old value
subtract
public char subtract(char amount)
Subtract amount from value (i.e., set value -= amount)
- the new value
swap
public char swap(SynchronizedChar other)
Atomically swap values with another SynchronizedChar.
Uses identityHashCode to avoid deadlock when
two SynchronizedChars 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.)
- the new value
toString
public String toString()