如何在需要时自动扩展堆栈? (直到最大我决定)
我正在尝试创建一些获取函数指针的东西(随机的,我不知道函数真正需要什么)并用它创建光纤。 但是我需要创建很多纤维,但是当它们占用的纤维比默认纤维多时,我希望它自动扩展,直到我决定达到最大值。
原因:我需要创建很多纤程,如果我用它们创建大堆栈,那么它也会在 RAM 中占用大量内存。但如果我创建小堆栈,它会抛出异常。 (堆栈溢出)
但是应该有大栈和小栈,那么我需要在运行时自动扩展它。
最佳答案
如果您使用 CreateFiberEx
要创建纤程,您可以使用较小的提交堆栈大小和较大的保留堆栈大小。但是请注意,无论您为保留指定什么,都会从系统可用的总内存中删除。但是,除非您需要,否则它不会致力于 RAM。详情描述here .
关于C++ - 在运行时展开堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11961568/