Go 语言能否设置初始化堆栈的容量?

2021-03-23 14:58:16 +08:00
 cloudfstrife
Go 语言能否像 Java 一样,对 Go 语言运行时,设置初始化堆栈的容量?如果可以,请教一下设置方法!
1489 次点击
所在节点    Go 编程语言
5 条回复
polythene
2021-03-23 15:24:16 +08:00
cgroup?
DoctorCat
2021-03-23 15:28:45 +08:00
为啥要这样干? golang 不是虚拟机语言。
darksword21
2021-03-23 15:34:11 +08:00
好奇为什么有这个需求
lewis89
2021-03-23 15:34:49 +08:00
初始化栈的大小没必要吧,goroutine 本来就是可以动态扩展栈空间大小的,这样对于突然的高并发场景,用协程栈空间可以动态扩展的优点 可以节省不少内存。

如果你是说线程栈大小,那可能就是 Linux 设定的线程栈大小
baiyi
2021-03-23 16:15:18 +08:00
不能,goroutine 的执行栈是可以在运行时自动调整的。初始栈的 2KB 大小是经过优化确定的。最大根据系统不同可以是 1GB ( 64 )或者 250MB ( 32 )。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/764271

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX