V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
heiher
V2EX  ›  编程

协程任务栈技术交流

  •  
  •   heiher · Apr 13, 2018 · 3468 views
    This topic created in 2939 days ago, the information mentioned may be changed or developed.

    Hi,

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

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

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

    1 replies    2018-04-13 18:05:00 +08:00
    JamesRuan
        1
    JamesRuan  
       Apr 13, 2018
    你把栈空间当作资源去分配。
    分配简单则可能分配不均,浪费还是小事,stack overflow 了呢?
    分配复杂则可以接近按需分配,资源浪费小,但是开销大。
    但是你又不可能在分配前就精确知道需求,不然这个问题就不存在了。
    所以,最好两个都实现,让用户自己去挑,并为自己的选择负责。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   797 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:29 · PVG 04:29 · LAX 13:29 · JFK 16:29
    ♥ Do have faith in what you're doing.