for
如果for循环体一直处于繁忙状态,则cpu被一直抢占,而cpu居高不下,如果循环体有io等待则会出让cpu,不会一直抢占
select
监听各case的io事件,各case必须都是 chan,一旦有一个case触发io则执行case块
如果没有default,则select会被一直阻塞,如果有default,则在没有io事件时,直接执行default块,退出select
for select
在有default的情况下,很容易造成类似for死循环 抢占cpu的情况
有疑问加站长微信联系(非本文作者)