sclass CompactQTest { // long acc; // This is not the right way new AtomicLong atomicAccumulator; // This is the right way int n = 100000; new CompactQ q; int qSizeAtEnd; long time; Scorer scorer; begin. long expectedResult = longMul(n, n+1)/2; printVars(+n, +expectedResult); S name = "Queue " + n; time name { for (r : inclusiveCountIterator(1, n, i -> r { //acc += i; add(atomicAccumulator, i); })) q.add(r); qSizeAtEnd = q.size(); q.waitUntilDone(); //assertEqualsVerbose(scorer, "Non-Atomic", expectedResult, acc); assertEqualsVerbose(scorer, "Atomic", expectedResult, atomicAccumulator!); } time = lastTiming(); print(n2(atomicAccumulator) + " // " + n2(qSizeAtEnd)); }