知识卡片
超时是并发契约
内容
给并发任务设置超时时间,可以把无限等待变成明确失败路径。发散:没有超时的 goroutine,常常是未来泄漏的开始。[[Runner管理生命周期]]正是把这个契约用在了任务生命周期管理上。
参考来源
- 位置:《Go语言实战》第7章《并发模式》(源文件:_epub-src/OEBPS/Text/part0017.xhtml)
- 结论依据:原文围绕“timeout报告处理任务已经超时”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的 Go 语言/工程结论,并补充边界或实践启发。
- 原始内容:19 // complete通道报告处理任务已经完成 20 complete chan error 21 22 // timeout报告处理任务已经超时 23 timeout <-chan time.Time 24 25 // tasks持有一组以索引顺序依次执行的 26 // 函数 27 task……