Given a piece of code, how do you know if it's lock-based or lock-free, and why do you care? Sounds like a trivial question – it's lock-based if it says, "lock a mutex", which is usually an OS service. If it doesn't say "lock" or "unlock", then it's lock-free. And we care because OS services like mutexes are expensive and if we don't use them, code runs faster. Which is all true, in a way, but it