RFR 8005311: Add Scalable Updatable Variables, DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder

Chris Hegarty chris.hegarty at oracle.com
Sat Jan 5 18:10:52 UTC 2013


As part of JEP 155 we are proposing to add the following public classes 
to support Scalable Updatable Variables, DoubleAccumulator, DoubleAdder, 
LongAccumulator and LongAdder.

These have been written by Doug Lea, with assistance from members of the 
former JCP JSR-166 Expert Group.

Webrev and javadoc are at:
   http://cr.openjdk.java.net/~chegar/8005311/ver.00/

Since Doug is the author, I am taking a reviewer/sponsor role.

Here are my initial comments.
  - There are various places in DoubleAccmulator where there are broken
    links to #sum ( I think it is just a cut'n'paste error ). These
    should be #get.
  - Accumulators
    {@link #get} may read somewhat better as {@link #get current value} ??
  - Accumulators
    Does the 'identity' value need further explanation?

Note: There is one minor change to the implementation. Currently in the 
jdk8 repo j.u.f.DoubleBinaryOperator defines operateAsDouble. This 
method has been renamed to applyAsDouble in the lambda/lambda repo. When 
these changes are sync'ed from lambda/lambda this can be reverted. A 
similar comment has been added to the code.

-Chris.



More information about the core-libs-dev mailing list