我的应用中有 12 到 13 个长时间运行的 goroutine,它们负责数千个短暂的 goroutine 来来去去。除了定期调用 runtime.Gosched() 之外,我是否需要考虑在长时间运行的情况下要做的其他事情?注意:目前,那些长时间运行的程序每 15 到 30 秒(有些每隔几分钟)对资源集合执行一些监督,然后它们就会休眠。
1 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
不,goroutine 不需要持续维护。它们由 go 运行时管理,并将继续运行,直到它们返回或主 goroutine 退出。你甚至不应该调用 runtime.Gosched() 因为它只在一个例程不会自己屈服时才需要,但你的大部分时间都在睡觉。
- 1 回答
- 0 关注
- 151 浏览
添加回答
举报
0/150
提交
取消