If you're using C++11, you could just use std::atomic<int>
which provides atomic load, store and increment which seems to be everything you need.
I suspect you don't need atomics though as in most cases they will be slower than your basic mutex.
See this other question before you make your decision.