美文网首页
golang协程用法案例

golang协程用法案例

作者: 耍帅oldboy | 来源:发表于2022-08-02 09:56 被阅读0次
package main

import (
    "fmt"
    "sync"
    "time"
)

var wg sync.WaitGroup

func test1() {
    for i := 0; i < 10; i++ {
        fmt.Println("test1-", i)
        time.Sleep(time.Millisecond * 100)
    }
    wg.Done()
}

func test2() {
    for i := 0; i < 10; i++ {
        fmt.Println("test2-", i)
        time.Sleep(time.Millisecond * 100)
    }
    wg.Done()
}

func main() {
    wg.Add(1)
    go test1() //开启协程
    wg.Add(1)
    go test2() //开启协程
    for i := 0; i < 10; i++ {
        fmt.Println("main-", i)
        time.Sleep(time.Millisecond * 10)
    }
    wg.Wait() //等待协程结束,主线程退出
    fmt.Println("主线程退出")
}

相关文章

网友评论

      本文标题:golang协程用法案例

      本文链接:https://www.haomeiwen.com/subject/nqgdwrtx.html