3

我的应用程序中有 12 到 13 个长期运行的 goroutines,它们负责数千个短暂的 goroutines 来来去去。

除了定期调用 runtime.Gosched() 之外,我还需要考虑在长期运行的情况下做其他事情吗?

注意:目前那些长时间运行的那些每隔 15 到 30 秒(有时每隔几分钟)对资源集合执行一些监督,然后它们会休眠。

4

1 回答 1

2

不,goroutine 不需要持续维护。它们由 go 运行时管理,并将继续运行直到它们返回或主 goroutine 退出。您甚至不应该调用 runtime.Gosched() 因为它仅在例程不会自行产生时才需要,但您的大部分时间都在睡觉。

于 2013-03-13T21:10:37.150 回答