Question: What does a `sync.Mutex` block while it is locked?

  1. all goroutines
  2. any other call to lock that `Mutex`
  3. any reads or writes of the variable it is locking
  4. any writes to the variable it is locking

Answer: The correct answer of the above question is Option B:any other call to lock that `Mutex`