旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

[Go进修] 并发掌握之WaitGroup计数信号量【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:92


导读:本篇文章小编将带人人一同进修一下go言语中的并发掌握中的WaitGroup计数信号量,并附上用例代码,具有肯定的参考价值,感兴趣的朋侪快来进修一下吧!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言语教程,快去关注ki4网的go视频教程吧!  

以上就是[Go进修] 并发掌握之WaitGroup计数信号量的细致内容,更多请关注ki4网别的相干文章!

标签:go并发控制WaitGroup