老师,你好,为什么我select里面加了default,循环接收channel里面的发过来的值时会走default里面去

来源:11-4 用select进行调度

voice_java

2020-11-03


http://img.mukewang.com/szimg/5fa0c173082dd54612570712.jpg

写回答

1回答

ccmouse

2020-11-04

你有收到值,只是被default分支打印的内容淹没了你没看到。

一进入select,在generator sleep的这段时间内,main函数都是无阻塞的进入default分支,然后再次进入,类似死循环拼命输出no value received。

default套在for循环里的话,需要注意不要产生这种不阻塞占用cpu的情况。

1
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程