Hi,
Anyone can help explain what is the difference between x.atomicOp!"+="(1) and atomicFetchAdd(x, 1)?
From the doc, their return values are different
atomicOp
Performs the binary operation 'op' on val using 'mod' as the modifier.
Returns:
The result of the operation.
atomicFetchAdd
Atomically adds mod to the value referenced by val and returns the value val held previously. This operation is both lock-free and atomic.
Returns:
The value held previously by val.
Apart from this, any other difference, esp in a multithreaded program? Are they the same? Is atomicOp also lock-free?
Thanks.