1

如何在需要时自动扩展堆栈?(直到我决定最大)

我正在尝试创建一些获取函数指针的东西(随机一个,我不知道该函数真正需要什么)并用它创建光纤。但是我需要创建很多纤维,但是当它们比默认值更多时,我希望它自动扩展,直到我决定最大。

原因:我需要创建很多纤维,如果我用它们创建大堆栈,那么它也会在 RAM 中占用大量内存。但是,如果我要创建小堆栈,它会抛出异常。(堆栈溢出)

但是应该有大堆栈和小堆栈,然后我需要在运行时自动扩展它。

4

1 回答 1

1

如果您使用CreateFiberEx创建纤程,则可以使用较小的提交堆栈大小和较大的保留堆栈大小。但是请注意,您为保留指定的任何内容都将从系统可用的总内存中删除。但是,除非您需要,否则它不会提交给 RAM。详细信息在此处进行了描述。

于 2012-08-14T22:18:08.100 回答