您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2024/6/28 9:15:41发布42次查看
本篇文章小编将带大家一起学习一下go语言中的并发控制中的waitgroup计数信号量 ,并附上用例代码,具有一定的参考价值,感兴趣的朋友快来学习一下吧!
waitgroup是一个计数信号量,可以用来记录并维护运行的goroutine,如果waitgroup的值大于0,wait方法就会阻塞
调用done方法来减少waitgroup的值,并最终释放main函数
package mainimport( "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计数信号量的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product