为了账号安全,请及时绑定邮箱和手机立即绑定

Go并发之魂:Goroutine深入浅出【程序人生中的“米其林三星级”并发实战】

凰凰 架构师
难度初级
时长 1小时58分
学习人数
综合评分8.33
8人评价 查看评价
8.5 内容实用
8.5 简洁易懂
8.0 逻辑清晰
出课啊大佬
把我给听饿了- -||
select外面不用加for吧,break根本跳不出去的
不错,越到后面越好
老师的代码有错误的地方

func A() {
...
go func(task []int, i int) {
...
}(task, i) // i 需要从外部传进去
}

func B 和 func C 中 break 无法跳出循环,可以使用 goto 或者 标记flag 跳出外层 for 循环
@我魔我能,同学,你还是往后看一下第三章的内容。。。。。人家举的例子是一个笼蒸10个包子代表一个协程处理一个任务。。。。。10个包子=1个任务,不是10个任务。。。。你理解错了
举例不当,一个包子出笼需要,做包子,包子放入蒸笼,出笼给客户,这三步才能完成。这时来个客户要买10个包子,单协程是这样做的:做1包子1分钟,把1个包子放入蒸笼,蒸10分钟,出笼给客户,然后继续做第二个,第三个,这样客户就要等待110分钟。而多协程是这样的:把做包子比做一个任务,那现在有10个任务,第一个任务开始:做1包子,把1个包子放入蒸笼,等待蒸好,这时第一个任务陷入等待,厨师可以去做第二个任务,做第2个包子,把第二个包子放入蒸笼,等待第二个蒸好,好第二个任务又陷入等待了。厨师开始做第3个任务,。。。这样客户的等待时间就是蒸一个包子的时间+做10个包子的时间——1*10+10=20分钟
课程的PPT的还做的不错,至于讲的嘛,就~。如果你只是来学一下go语言的协程语法,那么你会有收获;如果你初学者想了解一下go协程,那么很有可能会误导你。
课程中例子选的不错,但讲法错了。单协程就是一个笼子每次蒸1个包子,多协程就是1个笼子一次蒸10个???协程序是提供了程序的并发能力,不是并行能力!协程本质是让程序员用同步、阻塞的编码,利用go的协程调度,提高cpu利用率,实现一个高并发服务。
期待老师的实战课程!
通俗易懂。 看完goruntinue原理再看这个 很容易理解
课程须知
1、学前掌握基本的Go语法基础
老师告诉你能学到什么?
1. multi-goroutine核心机理、使用场景、局限性、如何管理 2. 协程生命周期、多并发通用设计+实战 3. channel使用、资源争抢 4. channel阻塞:概念+触发条件+实际开发场景+避免方法 5. goroutine高频面试题+面试思路点拨 6. 如何白板写goroutine并发面试代码与注意事项

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消