在Golang中,select{}和for{}有什么区别?

8
我发现一个类似的问题:什么是空select? for{}会占用100%的CPU使用率。 select{}询问通道是否可以读或写。但如果在select中没有case语句,select{}会使用0%的CPU使用率吗?还是像for{}一样?
1个回答

23

for{}会持续执行循环迭代,导致CPU使用率达到100%。

select{}会阻塞goroutine,使其进入睡眠状态,所以几乎不会占用CPU资源。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接