前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang使用select,for cpu 使用100%为啥?

golang使用select,for cpu 使用100%为啥?

作者头像
随心助手
发布2019-10-15 11:45:08
1.8K0
发布2019-10-15 11:45:08
举报
文章被收录于专栏:nginx遇上redis

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的情况。

看完本文有收获?请转发分享更多人

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 nginx遇上redis 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档