> 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?