go语言中并发执行多线程任务的时候有没有类似java中CountDownLatch的函数?

提问者:帅平 问题分类:微服务
go语言中并发执行多线程任务的时候有没有类似java中CountDownLatch的函数?
Go
1 个回答
我心已凉
我心已凉
有的,使用WaitGroup,示例代码如下:
func main() {
	var waitGroup sync.WaitGroup
	waitGroup.Add(5)
	for i := 0; i < 5; i++ {
		go func(i int) {
			fmt.Println("准备执行:", i)
			time.Sleep(time.Second)
			waitGroup.Done()
		}(i)
	}
	waitGroup.Wait()
	fmt.Println("all done")
}
发布于:1个月前 (04-12) IP属地:四川省
我来回答