GO 计算所有并发任务的总时间 WaitGroup
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO 计算所有并发任务的总时间 WaitGroup相关的知识,希望对你有一定的参考价值。
开发过程中,经常遇到task之间的同步问题。例如,多个子task并发完成一部分任务,主task等待他们最后结束。
在Go语言,实现同步的一种方式就是WaitGroup。
t1 := time.Now()
var wg sync.WaitGroup
for i := 0; i <= 10; i++ {
wg.Add(1)
go worker(t, client,1, &wg)
}
wg.Wait()
t2 := time.Now()
fmt.Println("total time:")
fmt.Println(t2.Sub(t1))
func worker(t *testing.T, client *ChainClient, count int, wg *sync.WaitGroup) {
for i := 0; i < count; i++ {
_, err := testUserContractClaimInvoke(client, "save", false)
require.Nil(t, err)
}
wg.Done()
}
以上是关于GO 计算所有并发任务的总时间 WaitGroup的主要内容,如果未能解决你的问题,请参考以下文章