
go等待N个线程完成操作总结
发布日期:2021-05-09 01:17:57
浏览次数:9
分类:博客文章
本文共 493 字,大约阅读时间需要 1 分钟。
第一种,基于原生带缓存的channel
package mainimport "fmt"func main() { done := make(chan int, 10) for i := 0; i < cap(done); i++ { go func(j int) { fmt.Println("你好,世界" + fmt.Sprintf("%v", j)) done <- 1 }(i) } //等待N个后台线程完成 for i := 0; i < cap(done); i++ { <-done }}
第二种,通过使用使用sync.WaitGroup来等待
package mainimport ( "sync" "fmt")func main() { var wg sync.WaitGroup for i := 0; i < 10; i++ { wg.Add(1) go func(j int) { fmt.Println("你好,世界" + fmt.Sprintf("%v", j)) wg.Done() }(i) } wg.Wait()}
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月29日 01时02分28秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
不需要爬虫也能轻松获取 unsplash 上的图片
2021-05-09
将博客搬至CSDN
2021-05-09
elementUi源码解析(1)--项目结构篇
2021-05-09
自动遍历测试之Monkey工具
2021-05-09
Nmap扫描工具介绍
2021-05-09
算法笔记:递归、动态规划
2021-05-09
Pytest插件开发
2021-05-09
常用Windows 快捷键
2021-05-09
linux命令-压缩与打包
2021-05-09
ORACLE 11g 生产中高水位线(HWM)处理
2021-05-09
centos 6.x 编译安装 pgsql 9.6
2021-05-09
weblogic 服务器部署SSL证书
2021-05-09
oracle 11g not in 与not exists 那个高效?
2021-05-09
Linux 安装Redis 5.0(以及参数调优)
2021-05-09
html5 Game开发系列文章之 零[开篇]
2021-05-09