Here's a correct version:

import std.parallelism, std.range, std.stdio, core.atomic;
void main()
{
    shared ulong i = 0;
    foreach (f; parallel(iota(1, 1000000+1)))
    {
        i.atomicOp!"+="(f);
    }
    i.writeln;
}

Thanks! Works fine. So "shared" and "atomic" is a must?

Reply via email to