综合
Go 群友提问:Goroutine 数量控制在多少合适,会影响 GC 和调度?
Posts on 煎é±0 次浏览
大家好,我是煎鱼。 前几天在读者交流群里看到一位小伙伴,发出了一个致命提问,那就是:“单机的 goroutine 数量控制在多少比较合适?”。 也许你和群内小伙伴第一反应一样,会答复 “控制多少,我觉得没有定论”。 紧接着延伸出了更进一步的疑惑:“goroutine 太多了会影响 gc 和调度吧,主要是怎么预算这个数是合理的呢?” 这是本文要进行探讨的主体,因此本文的结构会是先探索基础知识,再一步步揭开,深入理解这个问题。 Goroutine 是什么 Go 语言作为一个新生编程语言,其令人喜爱的特性之一就是 goroutine。Goroutine 是一个由 Go 运行时管理的轻量级线程,一般称其为 “协程”。 go f(x, y, z) 操作系统本身是无法明确感知到 Goroutine 的存在的,Goroutine 的操作和切换归属于 “用户态” 中。
原文:https://eddycjy.com/posts/go/go-tips-goroutinenums/