Package EDU.oswego.cs.dl.util.concurrent
Class SynchronizedByte
- java.lang.Object
-
- EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
-
- EDU.oswego.cs.dl.util.concurrent.SynchronizedByte
-
- All Implemented Interfaces:
Executor,Cloneable,Comparable
- Direct Known Subclasses:
WaitableByte
public class SynchronizedByte extends SynchronizedVariable implements Comparable, Cloneable
A class useful for offloading synch for byte instance variables.
-
-
Field Summary
Fields Modifier and Type Field Description protected bytevalue_-
Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
lock_
-
-
Constructor Summary
Constructors Constructor Description SynchronizedByte(byte initialValue)Make a new SynchronizedByte with the given initial value, and using its own internal lock.SynchronizedByte(byte initialValue, Object lock)Make a new SynchronizedByte with the given initial value, and using the supplied lock.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byteadd(byte amount)Add amount to value (i.e., set value += amount)byteand(byte b)Set value to value & b.booleancommit(byte assumedValue, byte newValue)Set value to newValue only if it is currently assumedValue.intcompareTo(byte other)intcompareTo(SynchronizedByte other)intcompareTo(Object other)bytecomplement()Set the value to its complementbytedecrement()Decrement the value.bytedivide(byte factor)Divide value by factor (i.e., set value /= factor)booleanequals(Object other)byteget()Return the current valueinthashCode()byteincrement()Increment the value.bytemultiply(byte factor)Multiply value by factor (i.e., set value *= factor)bytenegate()Set the value to the negative of its old valuebyteor(byte b)Set value to value | b.byteset(byte newValue)Set to newValue.bytesubtract(byte amount)Subtract amount from value (i.e., set value -= amount)byteswap(SynchronizedByte other)Atomically swap values with another SynchronizedByte.StringtoString()bytexor(byte b)Set value to value ^ b.-
Methods inherited from class EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
execute, getLock
-
-
-
-
Constructor Detail
-
SynchronizedByte
public SynchronizedByte(byte initialValue)
Make a new SynchronizedByte with the given initial value, and using its own internal lock.
-
SynchronizedByte
public SynchronizedByte(byte initialValue, Object lock)Make a new SynchronizedByte with the given initial value, and using the supplied lock.
-
-
Method Detail
-
get
public final byte get()
Return the current value
-
set
public byte set(byte newValue)
Set to newValue.- Returns:
- the old value
-
commit
public boolean commit(byte assumedValue, byte newValue)Set value to newValue only if it is currently assumedValue.- Returns:
- true if successful
-
swap
public byte swap(SynchronizedByte other)
Atomically swap values with another SynchronizedByte. Uses identityHashCode to avoid deadlock when two SynchronizedBytes 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
-
increment
public byte increment()
Increment the value.- Returns:
- the new value
-
decrement
public byte decrement()
Decrement the value.- Returns:
- the new value
-
add
public byte add(byte amount)
Add amount to value (i.e., set value += amount)- Returns:
- the new value
-
subtract
public byte subtract(byte amount)
Subtract amount from value (i.e., set value -= amount)- Returns:
- the new value
-
multiply
public byte multiply(byte factor)
Multiply value by factor (i.e., set value *= factor)- Returns:
- the new value
-
divide
public byte divide(byte factor)
Divide value by factor (i.e., set value /= factor)- Returns:
- the new value
-
negate
public byte negate()
Set the value to the negative of its old value- Returns:
- the new value
-
complement
public byte complement()
Set the value to its complement- Returns:
- the new value
-
and
public byte and(byte b)
Set value to value & b.- Returns:
- the new value
-
or
public byte or(byte b)
Set value to value | b.- Returns:
- the new value
-
xor
public byte xor(byte b)
Set value to value ^ b.- Returns:
- the new value
-
compareTo
public int compareTo(byte other)
-
compareTo
public int compareTo(SynchronizedByte other)
-
compareTo
public int compareTo(Object other)
- Specified by:
compareToin interfaceComparable
-
-