【发布时间】:2010-12-18 06:12:20
【问题描述】:
最近,我在一次采访中被问到一个问题,进程和线程之间有什么区别。真的,我不知道答案。我想了想,给出了一个很奇怪的答案。
线程共享相同的内存,进程不共享。回答完这个问题,面试官给了我一个邪恶的笑容,向我抛出了以下问题:
问。 您知道程序被划分为哪些部分吗?
我的回答:是的(认为这很简单)堆栈、数据、代码、堆
问。 那么,告诉我:线程共享哪些片段?
我无法回答这个问题,最后把它们都说了。
请问,任何人都可以就进程和线程之间的区别给出正确且令人印象深刻的答案吗?
【问题讨论】:
-
线程共享相同的虚拟地址空间,进程不共享。
-
可能是一个迟到的答案,但它的信息非常丰富:cs.rutgers.edu/~pxk/416/notes/05-threads.html
-
如果是动态链接库,代码甚至可以在进程之间共享,对吗?
标签: multithreading process operating-system