parallel-processing - 长时间运行的协程

标签 parallel-processing go cpu-usage

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

除了定期调用 runtime.Gosched() 之外,我是否需要考虑在长时间运行的程序中做其他事情?

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

最佳答案

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

关于parallel-processing - 长时间运行的协程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391804/

相关文章:

映射为匿名结构成员

Golang : how to mock . ..interface{} arguents 使用 gomock

c# 计算特定应用程序的 CPU 使用率

c++ - 在 WinCE 中确定 CPU 使用率

c# - 在并行循环之间保留 ThreadLocal 是好还是坏?

c - C中的特权指令

go - 使用 go 代码从 Kubernetes 连接到外部 Kubernetes 集群

c# - 如何从 c# 应用程序获取远程 linux 机器的 cpu 和 ram 使用情况

Java 8 并行流或方法执行

c++ - openmp 共享或什么都没有。私有(private)与未初始化