エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Go あるある: sync.WaitGroup を値渡しして goroutine が deadlock - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Go あるある: sync.WaitGroup を値渡しして goroutine が deadlock - Qiita
以下のように sync.WaitGroup により goroutine を待つプログラムがあるとします。 package main import... 以下のように sync.WaitGroup により goroutine を待つプログラムがあるとします。 package main import ( "fmt" "sync" "time" ) func main() { var wg sync.WaitGroup wg.Add(1) go func(wg sync.WaitGroup) { fmt.Println("Sleeping...") time.Sleep(1 * time.Second) fmt.Println("Awaken!") wg.Done() }(wg) wg.Wait() fmt.Println("Done") } $ go run main.go Sleeping... Awaken! fatal error: all goroutines are asleep - deadlock! goroutine 1 [s