当前位置:  开发笔记 > 编程语言 > 正文

线程内存布局

如何解决《线程内存布局》经验,为你挑选了0个好方法。

我理解进程内存布局的样子(代码,数据,堆,堆栈).

但是,我不明白,具有多个线程的程序的内存布局究竟是什么样子.

毕竟,这个进程有一个堆栈,所以我假设所有线程都以某种方式共享相同的堆栈.但这似乎不正确,因为每个线程都有自己的堆栈,并且不保证线程在命令中执行他们被调用了,所以把它们一个一个地放到进程堆栈上对我来说并没有多大意义.

我在网上看到了这张照片:

线程内存布局

在这里看来,每个线程都有自己的堆栈,这是有意义的,也是它自己的内核堆栈.

这是否意味着我(使用图片)3"进程"?(假设进程地址空间为4GB,那么3个线程将为12GB?我认为不是..)

我想了解每个线程堆栈在内存中的位置.

我知道所有线程共享数据和代码段,所以我假设Heap将包含线程的堆栈,或者它们将位于内核空间中.

我真的很想知道会发生什么......

很多赞赏.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有