好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

并发控制之WaitGroup计数信号量

本篇文章小编将带大家一起学习一下go语言中的并发控制中的WaitGroup计数信号量 ,并附上用例代码,具有一定的参考价值,感兴趣的朋友快来学习一下吧!

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语言教程,快去关注PHP中文网的go视频教程吧!  

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

查看更多关于并发控制之WaitGroup计数信号量的详细内容...

  阅读:46次