根据我的理解
操作系统设置了默认的堆栈最大大小限制。
此限制适用于进程级别还是每个线程可以具有1MB / 8MB堆栈?
线程退出后分配给堆栈的内存又会如何?
答案 0 :(得分:2)
一个进程的每个线程都获得一个堆栈,而通常只有一个 一堆用于处理。
是的。
此限制适用于进程级别还是每个线程可以具有 1MB / 8MB堆栈?
每个线程都有自己的堆栈;堆栈大小限制是按线程的(即,它不是进程中所有线程的共享限制)
线程退出后分配给堆栈的内存又会如何?
释放内存页,以后可以供其他代码使用。
答案 1 :(得分:0)
一个进程的每个线程都获得一个堆栈,而该进程通常只有一个堆。
前者是真的。后者是错误的。进程通常具有多个堆,尤其是在链接3d参与者代码时。
此限制适用于进程级别还是每个线程可以具有1MB / 8MB堆栈?
每个线程。
线程退出后分配给堆栈的内存又会如何?
通常,它们将一直分配给进程,直到进程退出并且地址空间不再存在。