Quando você incorpora o mutex no struct no Go?
NOTA: Achei que a palavra 'incorporar' no título foi uma má escolha, mas vou mantê-la.
Vejo muito código assim:
type A struct {
mu sync.Mutex
...
}
E use-o assim:
a := &A{}
a.mu.Lock()
defer a.mu.Unlock()
a.Something()
É melhor que o mutex local ou global?
a := &A{}
var mu sync.Mutex
mu.Lock()
defer mu.Unlock()
a.Something()
Quando devo usar o antigo ou mais tarde?