for range是同步调用,阻塞的。 而select是非阻塞,异步的轮询

来源:7-11 部署演示以及完成效果展示

黯淡_0001

2018-10-15

同步调用会阻塞,为什么会引起效率低于select异步轮询?为什么会引起定时器有延迟?

写回答

1回答

艾文西

2018-10-16

你的问题不就是答案吗?阻塞自然会比非阻塞的要低效啊

0
2
艾文西
回复
黯淡_0001
首先select不一定会在for里面,我们写到for里面是强制让它一直处于监听状态。更多的情况下select是顺序调用而非循环。 第二,同步调用是指在当前goroutine没有调用新gotoutine之前所有的操作都是顺序执行,不单单是等待。
2018-10-27
共2条回复

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程