Class SynchronizedFloat

java.lang.Object
EDU.oswego.cs.dl.util.concurrent.SynchronizedVariable
EDU.oswego.cs.dl.util.concurrent.SynchronizedFloat
All Implemented Interfaces:
Executor, Cloneable, Comparable
Direct Known Subclasses:
WaitableFloat

public class SynchronizedFloat extends SynchronizedVariable implements Comparable, Cloneable
A class useful for offloading synch for float instance variables.

[ Introduction to this package. ]

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected float
     

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

    lock_
  • Constructor Summary

    Constructors
    Constructor
    Description
    SynchronizedFloat(float initialValue)
    Make a new SynchronizedFloat with the given initial value, and using its own internal lock.
    SynchronizedFloat(float initialValue, Object lock)
    Make a new SynchronizedFloat with the given initial value, and using the supplied lock.
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    add(float amount)
    Add amount to value (i.e., set value += amount)
    boolean
    commit(float assumedValue, float newValue)
    Set value to newValue only if it is currently assumedValue.
    int
    compareTo(float other)
     
    int
     
    int
     
    float
    divide(float factor)
    Divide value by factor (i.e., set value /= factor)
    boolean
    equals(Object other)
     
    final float
    get()
    Return the current value
    int
     
    float
    multiply(float factor)
    Multiply value by factor (i.e., set value *= factor)
    float
    set(float newValue)
    Set to newValue.
    float
    subtract(float amount)
    Subtract amount from value (i.e., set value -= amount)
    float
    Atomically swap values with another SynchronizedFloat.
     

    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 float value_
  • Constructor Details

    • SynchronizedFloat

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

      public SynchronizedFloat(float initialValue, Object lock)
      Make a new SynchronizedFloat with the given initial value, and using the supplied lock.
  • Method Details

    • get

      public final float get()
      Return the current value
    • set

      public float set(float newValue)
      Set to newValue.
      Returns:
      the old value
    • commit

      public boolean commit(float assumedValue, float newValue)
      Set value to newValue only if it is currently assumedValue.
      Returns:
      true if successful
    • swap

      public float swap(SynchronizedFloat other)
      Atomically swap values with another SynchronizedFloat. Uses identityHashCode to avoid deadlock when two SynchronizedFloats 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
    • add

      public float add(float amount)
      Add amount to value (i.e., set value += amount)
      Returns:
      the new value
    • subtract

      public float subtract(float amount)
      Subtract amount from value (i.e., set value -= amount)
      Returns:
      the new value
    • multiply

      public float multiply(float factor)
      Multiply value by factor (i.e., set value *= factor)
      Returns:
      the new value
    • divide

      public float divide(float factor)
      Divide value by factor (i.e., set value /= factor)
      Returns:
      the new value
    • compareTo

      public int compareTo(float other)
    • compareTo

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