【发布时间】:2009-03-06 14:10:09
【问题描述】:
64 位窗口上的线程开销是多少?我相信堆栈的用户空间为 1mb,而 32 位的内核空间则较少。
谢谢
【问题讨论】:
-
Ferruccio 的回答是正确的,但即使设置为 1MB。那 1MB 不是立即分配的。当您的堆栈被使用时,它将根据需要进行分配。
-
澄清一下:地址空间是立即分配的,但物理 RAM 直到必要时才会映射到该地址空间。
64 位窗口上的线程开销是多少?我相信堆栈的用户空间为 1mb,而 32 位的内核空间则较少。
谢谢
【问题讨论】:
它可以是任何你想要的。 CreateThread() API 允许您指定堆栈大小。如果您使用堆栈大小为 0 调用它,它将使用在可执行文件头中定义的堆栈,可以通过链接器选项进行设置。默认值(对于 x86 和 x64 系统)是 1MB。
【讨论】: