Golang 的 Go Routine 背后的架构是什么?我相信 Go 不只是为每个例程创建一个新线程。
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
过去有一些 Go 实现实际上确实为每个 goroutine 创建了一个新线程。
在主要的 Go 实现中,Go 例程基本上只是一个带有一些附加上下文的堆栈(通常很小)(在 1.5 中,参见type g
runtime/runtime2.go)。从 goroutine 更改为另一个意味着更改堆栈指针和指向当前运行的 goroutine 的线程局部变量。
- 1 回答
- 0 关注
- 194 浏览
添加回答
举报
0/150
提交
取消