7.3 Go语言中通过WaitGroup控制并发

Posted 孙琦Ray

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.3 Go语言中通过WaitGroup控制并发相关的知识,希望对你有一定的参考价值。

与Channel区别

Channel能够很好的帮助我们控制并发,但是在开发习惯上与显示的表达不太相同,所以在Go语言中可以利用sync包中的WaitGroup实现并发控制,更加直观。

基本使用示例

我们将之前的示例加以改造,引入sync.WaitGroup来实现并发控制。

  • 首先我们在主函数中定义WaitGroup
var wg sync.WaitGroup
  • 每执行一个任务,则调用Add()方法
wg.Add(1)
  • 在主函数中我们利用Wait()方法等待并发结束
wg.Wait()
  • 在调用的函数中,

以上是关于7.3 Go语言中通过WaitGroup控制并发的主要内容,如果未能解决你的问题,请参考以下文章

Go语言之Context

Go并发控制之sync.WaitGroup

go语言学习笔记 — 进阶 — 并发编程(11):同步sync,等待组(sync.WaitGroup)—— 保证在并发环境中完成指定数量的任务

Go语言:sync包控制并发详解!

Go语言自学系列 | golang并发编程之WaitGroup实现同步

Go的Waitgroup和锁