golang积累-WaitGroup包装

在看NSQ源码时看到封装了waitgroup方法,很实用,于是网上找了一篇文章,顺带整个流程熟悉一遍golang的协程使用非常方便,但是为了确保协程能在主程序退出之前确保执行,会使用各种手段。

go语言学习的几个概念:接口、协程、通道、WaitGroup

因为儿子在学校自学go语言编程,时不时为他解答一些问题,也让很长时间没写过代码的我不懂的时候重温一下编程知识。虽然语言是新的,但好像编程思维还在。也试图通过一些易理解的例子来解释其中一些概念,虽然不会很准确,但也许也可以促进理解。

详解 Go 中 WaitGroup 设计

Go语言提供的协程goroutine可以让我们很容易地写出多线程程序,但是,如何让这些并发执行的goroutine得到有效地控制,这是我们需要探讨的问题。

GO语言:sync包——WaitGroup

官网文档对sync包的介绍:Package sync provides basic synchronization primitives such as mutual exclusion locks.