= ShardedMutex, aka 'not so bad global lock'

This library provides global locks for (pseudo-) atomic access to data without memory overhead per object. Concurrency is improved by selecting a Mutex from a pool based on the Address of the object to be locked.

Even being sharded, these Mutexes act still as global and non-recursive locks. One must not try to lock another object while a lock is already hold, otherwise deadlocks are around the corner.