generic<T: Send> struct Mutex { }A T shared between threads, reachable only while locked. Moving a Mutex after locking it is not allowed (guards point at it).
Methods
Blocks until this thread holds the lock. The guard is the only way to the value; dropping it unlocks. Don't lock twice on one thread.
The value back; the Mutex is gone (no guard may be alive).
drops the value, destroys the lock