A mutual-exclusion lock ensuring only one thread enters a critical section at a time.
Linux futexes make uncontended mutex operations pure userspace atomics; contended paths park threads in the kernel.