线程堆和堆栈

在产生新线程的情况下,如何分配内存,即内存堆,内存堆栈和线程是如何相关的? 我知道这是根本(.net框架概念),但不知何故,我对这个概念并不了解。


由于这种方式很难回答这个问题.Net线程被实现。 托管线程和相应的本地线程之间不一定有1-1实现。 CLR可以自由使用多个本地线程来实现单个托管线程。 因此,分配一个新的托管线程不一定会导致生成本地线程。 它可以简单地假定现有的。

你能告诉我们为什么这是你的关心吗? 也许这会让我们得到更好的答案。


该堆栈属于线程上下文。 堆属于进程,因此它在线程之间共享。


它比.net更深层次。 线程是OS本机对象。 所谓的托管线程只是本地线程的包装。

所以回到你的问题。 内存堆在相同进程的线程间共享,因为它们位于单个虚拟内存空间中。 堆栈是个人的。

链接地址: http://www.djcxy.com/p/14517.html

上一篇: Threading heap and stack

下一篇: How does page table handle both stack and heap memory addresses?