# 警告：goroutine 在循环中休眠（goroutine 9）

- **ID:** `go/goroutine-sleep-in-loop`
- **领域:** go
- **类别:** resource_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

goroutine 在紧密循环中调用 time.Sleep，消耗资源并可能阻塞。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 1.20 | active | — | — |

## 解决方案

1. **** (90% 成功率)
   ```
   ticker := time.NewTicker(time.Second)
defer ticker.Stop()
for range ticker.C {
    // do work
}
   ```
2. **** (85% 成功率)
   ```
   select {
case <-time.After(time.Second):
    // do work
case <-ctx.Done():
    return
}
   ```

## 无效尝试

- **** — Still busy-waits; doesn't solve the underlying issue. (80% 失败率)
- **** — Gosched doesn't block; it just yields, but loop continues. (70% 失败率)
- **** — Wastes CPU and may cause performance issues. (90% 失败率)
