NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
### 陷阱一 Ticker用于for循环时,很容易出现意想不到的资源泄露问题,下面代码演示了一个泄露问题: ~~~go func WrongTicker() { for { select { case <-time.Tick(1 * time.Second): log.Printf("Resource leak!") } } } ~~~ 上面代码,select每次检测case语句时都会创建一个定时器,for循环又会不断地执行select语句,所以系统里会有越来越多的定时器不断地消耗CPU资源,最终CPU会被耗尽