Class SynchronizedShort

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected short value_  
    • Constructor Summary

      Constructors 
      Constructor Description
      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.
    • Field Detail

      • value_

        protected short value_
    • Constructor Detail

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

      • get

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

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

        public boolean commit​(short assumedValue,
                              short newValue)
        Set value to newValue only if it is currently assumedValue.
        Returns:
        true if successful
      • 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
      • increment

        public short increment()
        Increment the value.
        Returns:
        the new value
      • decrement

        public short decrement()
        Decrement the value.
        Returns:
        the new value
      • add

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

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

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

        public short divide​(short factor)
        Divide 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
      • complement

        public short complement()
        Set the value to its complement
        Returns:
        the new value
      • and

        public short and​(short b)
        Set value to value & b.
        Returns:
        the new value
      • or

        public short or​(short b)
        Set value to value | b.
        Returns:
        the new value
      • xor

        public short xor​(short b)
        Set value to value ^ b.
        Returns:
        the new value
      • compareTo

        public int compareTo​(short other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object