On Sunday, 7 February 2016 at 19:27:19 UTC, Charles Hixson wrote:
If I define a shared ulong variable, is increment an atomic
operation?
E.g.
shared ulong t;
...
t++;
It seems as if it ought to be, but it could be split into read,
increment, store.
I started off defining a shared struct, but that seems silly,
as if the operations defined within a shared struct are synced,
then the operation on a shared variable should be synced, but
"+=" is clearly stated not to be synchronized, so I'm uncertain.
https://dlang.org/phobos/core_atomic.html#.atomicOp