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的情况。
看完本文有收获?请转发分享更多人