知识卡片
Runner管理生命周期
内容
runner 模式用通道控制任务运行、超时和中断,避免 goroutine 无边界地散落在程序里。发散:并发程序最重要的不是启动任务,而是知道如何停下它们。生命周期控制依赖[[超时是并发契约]]提到的超时机制来判断任务是否失控。
参考来源
- 位置:《Go语言实战》第7章《并发模式》(源文件:_epub-src/OEBPS/Text/part0017.xhtml)
- 结论依据:原文围绕“runner模式用通道控制任务运行、超时和中断,避免goroutine无边界地散落在程序里”展开机制、顺序或组件关系说明;摘录中的关键步骤和术语支撑本卡片正文及结构图。
- 原始内容:package runner 04 05 import ( 06 "errors" 07 "os" 08 "os/signal" 09 "time" 10 ) 11 12 // Runner在给定的超时时间内执行一组任务, 13 // 并且在操作系统发送中断信号时结束这些任务 14 type Runner struct { 15 // interrupt通道…