Atomic add updates a shared value as one indivisible operation. Concurrent jobs cannot interleave inside it, avoiding lost increments for a simple counter.
It does not automatically protect a multi-step invariant. Choose compare-and-swap or a lock when needed, and check the memory-order guarantees of the language and API.
When to use
Use it for safe updates to a shared counter or state flag.