Acquire a lock on this mutex object. If this object is currently locked by a different thread, then suspend execution of the current thread until a lock can be acquired. The behavior is undefined if the calling thread already owns the lock on this mutex, and may result in deadlock.