一个用于管理 goroutine 生命周期的通用机制
run.Group 是一个通用机制,用于管理 goroutine 生命周期。创建一个零值 run.Group,然后将行为添加到它中。行为定义为一对函数:一个 execute 函数,它应该同步运行;以及一个 interrupt 函数,当调用时,它应该使 execute 函数返回。最后,调用 Run,该函数同时运行所有行为,等待第一个行为退出,调用 interrupt 函数,最后只在所有行为返回后一次将控制权返回给调用者。此通用 API 允许调用者模拟几乎任何可运行的任务,并实现对组的明确生命周期语义。
run.Group 最初是为 OK Log 写的,用于管理组件生命周期在 main 函数中。但它在需要将多个 goroutine 组合成一个整体的情况下也很有用。点击这里 可以查看一个讲座视频,介绍了 run.Group。
暂无开放 Issues,或尚未同步最近议题。