Go的goroutine与sync.WaitGroup的初步使用

goroutine的使用以及sync.WaitGroup

emmm,没啥好介绍的,就简单的使用。

package main

import (
    "fmt"
    "sync"
)

//协程计数器
var wg sync.WaitGroup

func main() {
    fmt.Println("嘻嘻")

    for i := 0; i < 5; i++ {
        wg.Add(1)//协程计数器加1
        go func(x int) {
            defer wg.Done()// 协程计数器减1
            fmt.Println(x)
        }(i)
    }

    wg.Wait()// 等待所有的协程执行完毕
    fmt.Println("主线程退出")
}

 

 

posted @ 2021-09-20 20:17  DarkH  阅读(70)  评论(0编辑  收藏  举报