{Although there is already an accepted answer, I wanted to clarify something, so a late and technically unnecessary answer}
The answer to your question depends on whether you have an IINC command or what other answers refer to the ++ operator.
Using ++ in a static or instance is nothing but get, increment, and set, so it is not atomic (other answers explain this in more detail).
But
Since you asked if the IINC instruction IINC atomic, this is not a real answer. In fact, none of the answers to this question relate to the instruction, all of them, apparently, are based on the use of the operator in the instance or static fields.
The IINC instruction IINC works with local variables. As the name implies, they are only local and are available only from a very limited volume. Thus, it is not possible to access a local variable from another thread. This means that it does not matter if the instruction is an atom.
Clashsoft
source share