Golang 的 Go Routine 背后的架構(gòu)是什么?我相信 Go 不只是為每個(gè)例程創(chuàng)建一個(gè)新線程。
1 回答

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
過去有一些 Go 實(shí)現(xiàn)實(shí)際上確實(shí)為每個(gè) goroutine 創(chuàng)建了一個(gè)新線程。
在主要的 Go 實(shí)現(xiàn)中,Go 例程基本上只是一個(gè)帶有一些附加上下文的堆棧(通常很小)(在 1.5 中,參見type g
runtime/runtime2.go)。從 goroutine 更改為另一個(gè)意味著更改堆棧指針和指向當(dāng)前運(yùn)行的 goroutine 的線程局部變量。
- 1 回答
- 0 關(guān)注
- 219 瀏覽
添加回答
舉報(bào)
0/150
提交
取消