(18条消息) Go语言自学系列 | golang并发编程之WaitGroup实现同步_COCOgsta的博客-CSDN博客



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

COCOgsta 已于 2022-04-09 21:00:32 修改 29 收藏
分类专栏: 视频学习笔记 文章标签: golang go

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


实例演示

查看WaitGroup和不添加WaitGroup的区别

  1. 1
    package main
  2. 2
  3. 3
    import (
  4. 4
    "fmt"
  5. 5
    "sync"
  6. 6
    )
  7. 7
  8. 8
    var wg sync.WaitGroup
  9. 9
  10. 10
    func hello(i int) {
  11. 11
    defer wg.Done() // gorontine结束就登记-1
  12. 12
    fmt.Printf("i: %v\n", i)
  13. 13
    }
  14. 14
  15. 15
    func main() {
  16. 16
    for i := 0; i < 10; i++ {
  17. 17
    wg.Add(1) // 启动一个goroutine就登记+1
  18. 18
    go hello(i)
  19. 19
    }
  20. 20
    wg.Wait() // 等待所有登记的goroutine都结束
  21. 21
    }
  22. 22

运行结果

  1. 1
    [Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
  2. 2
    i: 0
  3. 3
    i: 8
  4. 4
    i: 1
  5. 5
    i: 9
  6. 6
    i: 5
  7. 7
    i: 3
  8. 8
    i: 4
  9. 9
    i: 7
  10. 10
    i: 6
  11. 11
    i: 2


yg9538 2022年7月22日 22:48 337 收藏文档