【发布时间】:2011-08-02 21:11:17
【问题描述】:
我想在 C (Linux) 中使用协程,但我不想为每个协程浪费大量空间。我想知道在给定MAP_GROWSDOWN 的情况下使用mmap() 为堆栈分配空间,但我在某处读到它已损坏,您对此了解更多吗?
【问题讨论】:
我想在 C (Linux) 中使用协程,但我不想为每个协程浪费大量空间。我想知道在给定MAP_GROWSDOWN 的情况下使用mmap() 为堆栈分配空间,但我在某处读到它已损坏,您对此了解更多吗?
【问题讨论】:
但我不想每个人都浪费很多空间
别担心。您的协程可以有一个很大的堆栈,但它不会导致任何性能或资源问题,除非堆栈实际上被使用。直到那时,内存的逻辑页面才会被分配物理页面。如果它被使用,那么你需要它,不是吗?
只需使用适当大小的堆栈即可。
【讨论】:
mmap 映射并且在物理接触之前不会使用内存?