【发布时间】:2021-01-20 22:36:56
【问题描述】:
Boehm GC 中线程与纤维的处理有什么不同?
Win32 CreateFiber 只获取所需的堆栈大小并分配它,而不会让用户访问堆栈指针(据我所知)。 Boehm GC 是否自动将创建的堆栈识别为根?如果没有,我们如何让 GC 知道堆栈?我们使用 GetCurrentThreadStackLimits 吗?
【问题讨论】:
-
GC 只处理动态堆分配。 GC 为什么要处理堆栈?
-
它必须跟踪堆栈中的指针以确定哪些对象仍然存在。
-
你有没有挖掘过源代码,看看里面是否有任何纤维物质(如果有的话,我会很惊讶)?
-
还有来自 Hans Boehm 本人的something,当然可能已经过时了,但有所有其他“证据”......