title: What is the benefit of using RWMutex instead of Mutex?
body: <p>I am not sure when to use RWMutex and when to use Mutex.</p>
  
  <p>Do you save resources if you use RWMutex instead of Mutex if you do more reads then writes?</p>
  
  <p>I see some people use Mutex all the time no matter what they do, and some use RWMutex and run these methods:</p>
  
  <pre><code>func (rw *RWMutex) Lock()
  func (rw *RWMutex) Unlock()
  func (rw *RWMutex) RLock()
  func (rw *RWMutex) RUnlock()
  </code></pre>
  
  <p>instead of just:</p>
  
  <pre><code>func (m *Mutex) Lock()
  func (m *Mutex) Unlock()
  </code></pre>
  
  <p>If you save resources, is it that much of a difference that you should use RWMutex if you do more reads then writes?</p>