Decrements the value of atomic
by 1.
Think of this operation as an atomic version of `{ *atomic -= 1; return (*atomic == 0); }`.
This call acts as a full compiler and hardware memory barrier.
atomic |
true if the resultant value is zero |