(相关资料图)
Channel的使用示例
以下是一个使用Channel的示例程序,该程序创建了两个Goroutine,并使用Channel在它们之间进行通信和同步。
package mainimport ("fmt""time")func worker(id int, jobs <-chan int, results chan<- int) {for j := range jobs {fmt.Printf("worker %d started job %d\n", id, j)time.Sleep(time.Second)fmt.Printf("worker %d finished job %d\n", id, j)results <- j * 2}}func main() {jobs := make(chan int, 100)results := make(chan int, 100)for w := 1; w <= 3; w++ {go worker(w, jobs, results)}for j := 1; j <= 9; j++ {jobs <- j}close(jobs)for a := 1; a <= 9; a++ {<-results}}
在这个示例程序中,我们定义了一个名为worker
的函数,它模拟了一个工作任务。这个函数接收一个jobs
的单向Channel用于接收工作任务,以及一个results
的单向Channel用于发送工作结果。当函数接收到一个工作任务时,它会等待一秒钟,然后将工作结果发送到results
的Channel中。
在main
函数中,我们创建了两个Channel:一个jobs
的Channel用于发送工作任务,一个results
的Channel用于接收工作结果。然后,我们启动了三个Goroutine,并将它们分别分配给worker
函数。接下来,我们向jobs
的Channel中发送了9个工作任务,并关闭了这个Channel。最后,我们从results
的Channel中接收了9个工作结果。
在这个示例程序中,我们使用Channel实现了工作任务的分配和工作结果的收集。通过使用Channel,我们可以轻松地实现Goroutine之间的通信和同步,从而使程序变得简单和高效。
X 关闭
- 1、go的数据类型-其他数据类型-channel(二) 全球通讯
- 2、三星SDI拟与中国设备企业合作,以推进电池堆叠工艺
- 3、今年一季度北京居民人均可支配收入21367元 同比增长3.6%
- 4、美麟文化2022年净利7.34万同比扭亏为盈 业务量增长
- 5、《浪姐4》还没开播,人气差距已拉开,5人成赢家,一众透明姐姐只能陪跑
- 6、世界新消息丨俄蒙边境突发入境草原火明火已被扑灭
- 7、央广传媒集团与上海金桥开启战略合作 共创智能网联汽车新“声”态 全球微资讯
- 8、时讯:周宁:“组团式”帮扶,扶出发展大潜能
- 9、深圳开展解债类非法集资打击整治行动-当前要闻
- 10、天天观速讯丨淮北社保缴费基数2022 淮北社保五险缴费比例多少
-
二年级语文上册第七单元测试卷人教版_二年级语文上册第七单元测试卷 即时看
1、一、看拼音,写词语。2、sǎomùfēngmǎnyǒnggǎnjiànkāngj
-
马背图书馆 环球微头条
马背图书馆---在以牛羊为伴的牧场上,牧民沈延龙还有个特殊的称谓——“马背图书馆馆长”。如今,读书成为
-
传统业务承压 中小农商银行待“突围”-焦点速递
传统业务承压中小农商银行待“突围”,存款,银行业,净息差,中小银行,中小农商银行
-
肃北县综治中心召开工作调度会
为进一步实施好“综治中心实体化运行攻坚工程”,聚焦“主动创稳”和“三抓三促”行动相关要求,4月20日,
-
NBA官宣:追梦因踩踏小萨被禁赛一场 勇士生死战遭重创
NBA官宣:追梦因踩踏小萨被禁赛一场勇士生死战遭重创,踩踏,小萨,nba,萨博尼斯,勇士生死战,雷蒙德-格林
-
【世界报资讯】两千多年前《天回医简》重现世!或为失传扁鹊医书
4月20日,四川省人民政府新闻办公室举行《天回医简》整理出版新闻发布会。经专家反复研究求证,“天回医简
-
英语序数词课件_英语序数词-每日观点
1、第一类first(1st)第一second(2nd)第二third(3rd)第三(在括号里的是缩
-
环球简讯:多地密集出台鼓励生育举措
多地密集出台鼓励生育举措发放生育补贴导语近期,多地加快建立积极生育支持政策体系,在生育、养育、教育等方
-
携程酒店管理系统登录_携程ebooking酒店管理系统登录
1、可以找回的呀。2、联系和你签约酒店的携程业务经理。3、他们那里都有的。本文到此分享完毕,希望对大家
-
顺治科技2022年亏损175.15万同比亏损增加 销售收入下降
挖贝网4月20日,顺治科技(833060)近日发布2022年年度报告,报告期内公司实现营业收入4,780,085 58元