当前标签:WaitGroup


go sync 包 WaitGroup 的使用

go sync 包 WaitGroup 的使用

2022-06-09 601 811
sync包提供了基本的同步基元,如互斥锁。除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些。packagemain import( "fmt" "sync" ) funcmain(){ varwgsync.WaitGroup items:=[]int{1,2,3,4
go WaitGroup 的使用方法

go WaitGroup 的使用方法

2023-03-23 377 508
在 Go 中,sync 包下的 WaitGroup 能有助于我们控制协程之间的同步。当需要等待一组协程都执行完各自任务后,才能继续后续逻辑。这种场景,就非常适合使用它。WaitGroup 提供三个 API。Add(delta int) 函数提供了 WaitGroup 的任务计数,delta 的值可以为正也可以为负,通常在添加任务时使用。Done() 函数其实就是 Add(-1),在任务完成时调用。