go的数据类型-其他数据类型-channel(二)

2023-04-24 09:09:15 来源:腾讯云


(相关资料图)

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之间的通信和同步,从而使程序变得简单和高效。

标签:

go的数据类型-其他数据类型-channel(二)

2023-04-24

河北:今年全省70处大中型灌区春灌面积将超600万亩

2023-04-24

探路创新新范式④ | 全链条创新,生物人工肝这样领跑全球|环球新消息

2023-04-24

属羊的42岁运势怎样,91属羊一生有几次婚姻

2023-04-24

天天看热讯:美国纽约州杰斐逊县发生3.6级地震

2023-04-24

信息:2022年度济南法院十大知识产权典型案件发布

2023-04-24

闪光尼尔融合公式_闪光尼尔怎么融合|当前快看

2023-04-24

姚锦2023年一季度表现,建信积极配置混合基金季度涨幅8.28%

2023-04-24

世界快资讯:奥佳华:请关注公司即将于4月27日披露的2023年第一季度报告

2023-04-24

单国强书法多少钱一平尺_单国强

2023-04-24

丁雪钦出席国家“健康知识进万家”试点评估调研汇报会-世界快报

2023-04-24

【恋与·器灵篇】许墨·续

2023-04-24

世界观热点:河北政法职业学院宿舍环境_河北政法职业学院宿舍

2023-04-24

一汽红旗尊享定制中心分公司总经理矫有林一行莅临上海旭阳聚光公司参观交流 天天短讯

2023-04-24

全球观察:「男科阅读」男性为什么会早泄呢-早泄的常见原因

2023-04-23

湖南机电职院金融管理专业探索以赛促学新模式

2023-04-23

抗美援朝结束后,德国人研究志愿军打法,发现八大不可思议

2023-04-23

“书‘升’航运” 浸润书香 世界看点

2023-04-23

【世界速看料】世界读书日:从爱好到事业 书中自有天地

2023-04-23

天天新资讯:年轻但活力十足!58%的中国汽车品牌诞生不满10年

2023-04-23

中国3月粗钢产量同比提高6.9%_实时焦点

2023-04-23

新消息丨隔墙材料批发 隔墙材料

2023-04-23

2023年4月23日甲苯国内市场动态|每日消息

2023-04-23

天天播报:宋昊姜医生吸脂怎么样?技术评价_擅长风格_坐诊医院一起看!

2023-04-23

杭城高中今年将招收6313名分配生,名额怎么定?官宣来了

2023-04-23

房贷中途能改成公积金贷款吗

2023-04-23

当前焦点!无锡绿点科技有限公司官网_无锡绿点科技有限公司

2023-04-23

贵州启动2023年旅游市场秩序整治专项行动 环球报道

2023-04-23

探访浙江景宁“三月三”:畲族活动风情万千 引人流连

2023-04-23

南京小学生“跟着垃圾‘趣’旅行”争做环保小公民

2023-04-23

Copyright ©  2015-2022 太平洋频道网版权所有  备案号:豫ICP备2022016495号-17   联系邮箱:93 96 74 66 9@qq.com