教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 [Go学习] 并发控制之WaitGroup计数信号量

[Go学习] 并发控制之WaitGroup计数信号量

发布时间:2021-01-01   编辑:jiaochengji.com
教程集为您提供[Go学习] 并发控制之WaitGroup计数信号量等资源,欢迎您收藏本站,我们将为您提供最新的[Go学习] 并发控制之WaitGroup计数信号量资源
本篇文章小编将带大家一起学习一下go语言中的并发控制中的WaitGroup计数信号量 ,并附上用例代码,具有一定的参考价值,感兴趣的朋友快来学习一下吧!

WaitGroup是一个计数信号量,可以用来记录并维护运行的goroutine,如果WaitGroup的值大于0,Wait方法就会阻塞

调用Done方法来减少WaitGroup的值,并最终释放main函数


package main import(         "fmt"         "runtime"         "sync" ) func main(){         //只分配一个逻辑处理器给调度器使用         runtime.GOMAXPROCS(1)         //wg用来使main goroutine等待子goroutine结束         var wg sync.WaitGroup         //等待两个子goroutine结束         wg.Add(2)         fmt.Println("开启goroutine")         go func(){                 defer wg.Done()                 //循环显示三遍字母表                 for count:=0;count<3;count  {                         //循环显示字母表                         for char:='a';char<'a' 26;char  {                                 fmt.Printf("%c ",char)                         }                    }            }()          go func(){                 defer wg.Done()                 //循环显示三遍字母表                 for count:=0;count<3;count  {                         //循环显示字母表                         for char:='A';char<'A' 26;char  {                                 fmt.Printf("%c ",char)                         }                    }            }()          //main goroutine等待子goroutine结束         wg.Wait()         fmt.Println("\ngoroutine结束") }

想了解更多go语言教程,快去关注教程集的go视频教程吧!  

以上就是[Go学习] 并发控制之WaitGroup计数信号量的详细内容,更多请关注教程集其它相关文章!

  • 本文转载于:博客园,如有侵犯,请联系jquerycn@qq.com删除
  • 您可能感兴趣的文章:
    [Go学习] 并发控制之WaitGroup计数信号量
    golang WaitGroup源码解析
    Go WaitGroup实现原理
    sync.WaitGroup实现原理和源码解析
    Golang并发利用sync.WaitGroup实现协程同步
    Golang WaitGroup源码分析
    Golang sync.WaitGroup源码详细分析
    从零学习 Go 语言(24):理解 Go 语言中的 goroutine
    字节跳动的 Go 语言面试会问哪些问题?
    Golang 并发编程与同步原语

    [关闭]
    ~ ~