协程任务栈技术交流

2018-04-13 17:01:39 +08:00
 heiher

Hi,

在实现一个独立栈的协程,之所以没有使用共享栈,主要还是优先考虑的切换开销,不过实现中允许协程任务创建时指定栈大小,不必每个任务相同大小,一定程度上缓解浪费吧。但是,如果估算太小,当然是有栈溢出的风险的。

那么,到底有没有既能不浪费内存,又能减少切换开销的栈解决方法呢?

已有 thread: https://github.com/Tencent/libco/issues/80

3042 次点击
所在节点    编程
1 条回复
JamesRuan
2018-04-13 18:05:00 +08:00
你把栈空间当作资源去分配。
分配简单则可能分配不均,浪费还是小事,stack overflow 了呢?
分配复杂则可以接近按需分配,资源浪费小,但是开销大。
但是你又不可能在分配前就精确知道需求,不然这个问题就不存在了。
所以,最好两个都实现,让用户自己去挑,并为自己的选择负责。

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

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

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

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

© 2021 V2EX