well i walked through the source code of sync/atomic, it implements the the atomic add by using a mutex lock.
And in this case, not every operation should be blocked by mutex, a rwlock is better