线程的栈和进程的栈有什么区别?

5
线程和进程是否都有独立的堆栈?如果是,它们之间有什么区别呢? 提前感谢!
2个回答

7
进程没有堆栈,线程有。进程通常是一个地址空间、一些资源和一个或多个线程。线程运行进程的实际代码,因此它们各自拥有自己的堆栈。
关于堆栈的维基百科文章提供了更多信息http://en.wikipedia.org/wiki/Call_stack

-1
据我所知(如果我错了,请纠正我),每个进程都有自己的内存空间,其中包含3个段:文本段(即程序)、数据段(据我所知是全局和静态变量)和堆栈段,其中包含许多东西,如局部变量、函数参数、函数应返回的地址等。
每个进程可能有一个或多个线程。进程的线程共享进程的内存空间,它们没有自己的内存,这使它们易于创建和终止。
让我们总结一下: 进程有自己的堆栈,线程没有自己的堆栈。
如果我对此有误,请随时纠正我。
实际上,Tanenbaum先生的书《操作系统》涵盖了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接