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.

[ Introduction to this package. ]

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected byte
     

    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

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

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

    execute, getLock

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • value_

      protected byte value_
  • Constructor Details

    • 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 Details

    • 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:
      compareTo in interface Comparable
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object