RFR 8005311: Add Scalable Updatable Variables, DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder
Martin Buchholz
martinrb at google.com
Sat Jan 5 20:10:04 UTC 2013
I did a bit of review.
----
"""The supplied accumulator function must be side-effect-free. It may be
re-applied when attempted updates fail due to contention among threads. """
Too strong. I prefer """The supplied accumulator function should be
side-effect-free, since it may be re-applied when attempted updates fail
due to contention among threads. """ Users can usefully use side effects
for e.g. performance monitoring or debugging.
----
Double.MINIMUM_VALUE - WAT? The alternative Double.MIN_VALUE actually
exists, but is also inappropriate, since it's positive. Why not
Double.NEGATIVE_INFINITY, which is a true identity for max (ignoring NaN)?
----
Chris, the internal links in your generated javadoc are broken, e.g. I
clicked on
http://cr.openjdk.java.net/java/util/concurrent/atomic/DoubleAccumulator.html#reset()
Maybe the webrev tool needs fixing (as always?) ?
----
There need to be more docs on the requirements on the accumulatorFunction,
e.g. associative/commutative?
----
"""
public void reset()
Resets variables maintaining updates the given value.
"""
That sentence english not. There is no "given value". Perhaps "Resets
variables maintaining the accumulated value to the identity."""
----
Class DoubleAdder provides analogs of the functionality of this class for
the common special case of maintaining sums.)
I would add a code sample showing how to create a DoubleAccumulator
equivalent to a DoubleAdder.
----
but does not define methods such as hashCode and compareTo
I would include equals in that list of methods.
----
More information about the core-libs-dev
mailing list