Code Fix

中級sync: negative WaitGroup counter パニックの原因と直し方 › パターン5

sync: negative WaitGroup counter パニックの原因と直し方

sync.WaitGroupのDone()はAdd()で加算した回数より多く呼ぶとカウンタが負になり、実行時にパニックします。

 1  package main
 2  
 3  import "sync"
 4  
 5  func main() {
 6  	var wg sync.WaitGroup
 7  	wg.Add(2)
 8  	wg.Done()
 9  	wg.Done()
10  	_________
         ^
11  }
panic: sync: negative WaitGroup counterAdd(2)に対しDoneを3回呼んでいる

空欄を埋めて実行を通す

広告
広告スロット(未設定)

sync: negative WaitGroup counter パニックの原因と直し方

goroutineの数とAddで加算する数が一致していないと発生します。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)