(资料图片仅供参考)
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、今日热议:乌里雅苏台将军和总督哪个级别高_乌里雅苏台将军
- 3、女子吐槽被分配“3男1女”软卧车厢后提议推“同性车厢”,专家:没必要,会导致车票更难分配
- 4、美元定期存款利率上涨,想“换汇存款”?专家提醒……|当前信息
- 5、普通人,35岁后如何让自己更值钱?_环球播资讯
- 6、淘宝怎么改物流单号(淘宝物流单号填错了怎么修改)
- 7、广期所副总经理曹子海:力争年内上市碳酸锂、多晶硅期货_环球关注
- 8、美媒:10亿美元级初创基金数量升至疫情前水平,多位知名公司前高管自立门户 世界新视野
- 9、每日焦点!steam喜加一 艾尔登法环/原子之心/霍格沃兹之遗等数款游戏免费领
- 10、奔驰E260L点烟器怎么用,E260L点烟器保险丝位置
-
今日视点:苏宁任性贷16天没还会被强制执行吗
需要视情况而定。起诉后,法院判决还款不执行的,那法院就会采取强制执行。行动建议:1)正规网贷一定要还。蚂蚁花呗借呗、京东白条金条等都是
-
研究显示,周末休3天,更有利于健康
这项研究提供的证据表明,人们在短暂休息时拥有更健康的生活方式,例如周末三天。体力活动和睡眠的增加将对身心健康产生积极影响,有助于每周
-
营地不足、停车难、缺乏规范,媒体调查房车游
推动房车旅游可持续发展需多措并举,包括培育房车出游消费观念,完善停车场、宿营地以及高速公路周边的观景设施等,培育一批自驾旅游线路和自
-
公众为什么至今仍在关注特朗普?|天天短讯
据澎湃新闻报道,4月4日,已经宣布参选2024年美国总统大选的特朗普,成了美国有史以来,首个被刑事指控的前总统。但特朗普被批捕后,人气非但
-
上海今年首轮土拍溢价率超7% 近八成地块进入“一次性报价区间”
【上海今年首轮土拍溢价率超7%近八成地块进入“一次性报价区间”】4月21日,上海完成了为期四天的2023年首轮集中土拍,挂牌的19宗地均成功出让
-
汽车使用年限是多久_汽车使用年限
1、之前规定是15年,但是新规定是到了15年后只要检测合格就可以继续使用,但是检测时间会缩短。2、比如之前一年一次,15
-
【世界播资讯】立德电子2022年净利3229.8万同比增长0.02% 销售费用下降
立德电子2022年净利3229 8万同比增长0 02%销售费用下降2023 4 2121:37:31挖贝网白杨树挖贝网4月21日,立德电子(833
-
待处理财产损益在负债表哪里体现?_待处理财产损益在资产负债表中怎么填-世界热推荐
1、在资产负债表中已经没有待处理财产损益项目 因为按照2001年的企业会计制度精神,待处理财产损益已不符合资产的定义 故
-
知识区是B站的第三曲线吗?
“众所周知,B站是个学习软件。”刚刚工作两年的林喆一边翻看B站收藏夹一边说,那里是她的青春也是回忆。作为B站的6级用户,
-
宁德时代又一重要巨大突破!
4月19日,宁德时代在上海国际汽车工业展览会发布创新前沿电池技术——凝聚态电池,单体能量密度高达500Wh kg,创造性地实现电池高比能与高安全