有人知道在 Unix/Linux 操作系统上创建的线程分配了多少默认内存吗? 对于 windows xp 操作系统,我发现它分配了 1MB 的内存块,是否正确?
提前致谢。
最佳答案
这个问题不会只有一个答案。
事实上,在 Windows 上什至没有一个答案。不同的可执行文件指定不同的堆栈限制。即使在单个进程中,各个线程也可以有不同的堆栈限制。
当您考虑 .net 和 native 可执行文件之间的差异时,它会变得更加复杂。相当奇怪的是,.net 可执行文件在线程启动后立即为每个线程提交整个堆栈分配。另一方面, native 可执行文件保留堆栈分配,然后使用保护页按需提交内存。
关于windows - Unix/Linux 线程的默认内存块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575769/