Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 [Go学习] 并发控制之WaitGroup计数信号量

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

发布时间:2021-01-01   编辑:www.jquerycn.cn
jquery中文网为您提供[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语言教程,快去关注jquery中文网的go视频教程吧!  

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

  • 本文转载于:博客园,如有侵犯,请联系jquerycn@qq.com删除
  • 您可能感兴趣的文章:
    [Go学习] 并发控制之WaitGroup计数信号量
    golang WaitGroup源码解析
    Go WaitGroup实现原理
    字节跳动的 Go 语言面试会问哪些问题?
    golang语言异步通信之WaitGroup
    golang goroutine 通知_深入golang之---goroutine并发控制与通信
    Go语言发展历史、核心、特性及学习路线
    Go语言学习3----Go语言特色
    Go 语言学习第一章节
    从零开始学习GO语言-搭建Go语言开发环境-快速开发入门第一个小程序

    [关闭]