İçeriğe geç

Sızdırılan Eşzamanlılık Tutamacı (ARCH5085)

Anahtar go.performance.leaked-concurrency-handle · Önem warning · Kategori performance

Lock alıp Unlock etmemek ya da iptal yolu olmayan goroutine başlatmak tutamaç sızdırır. Kilidi defer mu.Unlock() ile garanti edin.

func (c *Cache) Set(k, v string) {
c.mu.Lock()
if c.closed {
return
}
c.data[k] = v
c.mu.Unlock()
}
func (c *Cache) Set(k, v string) {
c.mu.Lock()
defer c.mu.Unlock()
if c.closed {
return
}
c.data[k] = v
}

Kilitleri defer mu.Unlock() ile serbest bırakın; goroutine’lere iptal için context geçirin.