请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

select 用于哪些实际的场景呢

不同通道内的数据被不同的处理?可以做两个worker不也可以解决吗,用select 优势在哪里?

正在回答

1回答

ccmouse 2019-11-22 05:40:26

一个显而易见的作用是定时器。在这节的后半段有详细讲解。

另外的作用就是我演示的这些调度,注意我们这个values是一个slice,它不是线程安全的。我们如果开两个worker(goroutine),把收到的数据放到同一个values slice里面是不行的,必须给values加锁。但是用了select就可以,我们是一个goroutine里面同时向两个channel收数据,放入values中,非常方便。在我们后面的爬虫实战项目的核心处,16-3 并发调度器,16-4 队列实现并发调度器,还会出现类似的代码。到时候可以把这些穿插理解。

0 回复 有任何疑惑可以回复我~
  • 提问者 Kinopio #1
    原来如此,我要继续仔细看下去,谢谢老师的讲解
    回复 有任何疑惑可以回复我~ 2019-11-22 05:50:21
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号