LongAdder sumThenReset() method in Java with Examples

LongAdder class in Java creates a new adder with an initial sum of zero. The Java.LongAdder.sumThenReset() is an inbuilt method in Java that is equivalent to sum() then reset() function. Firstly, the sum is calculated and then it is reset to the value 0. When the object of the class is created its initial value is zero.
Syntax:
public long sumThenReset()
Parameters: The function does not accepts any parameter.
Return value: The method returns a long value which is the current sum of this LongAdder just before it is reset to 0.
Below programs demonstrate the above function:
Program 1:
// Java program to demonstrate// the LongAdder.sumThenReset() method  import java.lang.*;import java.util.concurrent.atomic.LongAdder;  public class GFG {    public static void main(String args[])    {          // Initialized with 0        LongAdder num = new LongAdder();          // Print the initial value        System.out.println("Initial value is: "                           + num);          // Add 6 to it        num.add(6);          // Print the final value        System.out.println("After addition"                           + " of 6, value is: "                           + num);          // Add 5 to it        num.add(5);          // Print the final value        System.out.println("After addition"                           + " of 5, value is: "                           + num);          // sumThenReset operation on num        System.out.println("Returned sum before reset: "                           + num.sumThenReset());          // Print the current value        System.out.println("Current value is: "                           + num);    }} |
Output:
Initial value is: 0 After addition of 6, value is: 6 After addition of 5, value is: 11 Returned sum before reset: 11 Current value is: 0
Program 2:
// Java program to demonstrate// the LongAdder.sumThenReset() method  import java.lang.*;import java.util.concurrent.atomic.LongAdder;  public class GFG {    public static void main(String args[])    {          // Initialized with 0        LongAdder num = new LongAdder();          // Print the initial value        System.out.println("Initial value is: "                           + num);          // Add 10 to it        num.add(10);          // Print the final value        System.out.println("After addition"                           + " of 10, value is: "                           + num);          // Add 100 to it        num.add(100);          // Print the final value        System.out.println("After addition"                           + " of 100, value is: "                           + num);          // sumThenReset operation on num        System.out.println("Returned sum before reset: "                           + num.sumThenReset());          // Print the current value        System.out.println("Current value is: "                           + num);    }} |
Output:
Initial value is: 0 After addition of 10, value is: 10 After addition of 100, value is: 110 Returned sum before reset: 110 Current value is: 0



