golang sync.WaitGroup は chan と連携して非同期タスクの結果を取得します

 最近では、実行後に一律に実行結果を取得することを考え、非同期で情報を公開するデバイスが多くなっています。

 以下を作成しました。


var ch = make(chan string, 4)
var wg sync.WaitGroup

func main() {
	wg.Add(10)
	for i := 0; i < 10; i++ {
		go test1()
	}
	wg.Wait()
	println(ch)
}

func test1() {
	for i := 0; i < 10000; i++ {
		println(i)
	}
	wg.Done()
	ch <- "hello"
}

ch がすべての hello を取得するまで待機すると、実行が完了します。

おすすめ

転載: blog.csdn.net/u010919083/article/details/129710997