2010-01-25 100 views

回答

7

进程没有堆栈。线程可以。一个进程通常是一个地址空间,一些资源和一个或多个线程。线程运行进程的实际代码,以便它们各自拥有自己的堆栈。

上堆维基文章的详细信息http://en.wikipedia.org/wiki/Call_stack

-1

据我所知(和纠正我,如果我错了),每个进程都被赋予它自己的内存空间,其中包含3个部分:文字segement(即程序),数据段(据我所知它是全局变量和静态变量),栈段包含许多东西,如局部变量,函数的参数,函数应该返回的地址。

每个进程可能有一个或多个线程。进程的线程共享进程的内存空间,他们不“拥有”自己的记忆,这使得他们很容易创建和终止。

让我们来概括一下: 进程有他自己的堆栈,线程没有他自己的堆栈。

如果我错了,随时纠正我。

其实,塔恩鲍姆先生的书“操作系统”涵盖了这个问题。