次のコードに競合状態がある理由がわかりません。誰かが私にヒントを与えることができますか?潜在的な競争状態はないと私は思う。前もって感謝します。go言語の潜在的な競合状態
type PossiblySafeCounter struct {
mu sync.Mutex
sum int
}
func (c *PossiblySafeCounter) inc() {
c.mu.Lock();
defer c.mu.Unlock();
go func() {
c.sum++
}()
}
func (c *PossiblySafeCounter) read() int {
c.mu.Lock();
defer c.mu.Unlock();
return c.sum
}
なぜあなたはそれがあると思いますか? – Carcigenicate