首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进程是线程还是线程是进程?

进程是线程还是线程是进程?
EN

Stack Overflow用户
提问于 2014-06-27 06:53:51
回答 4查看 188关注 0票数 2

有人问我这个面试问题。我回答说,线程是一个过程后,认为过程是一个超集的线程,但面试官不同意它。这是令人困惑的,我无法找到任何明确的答案。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-27 18:03:54

进程是应用程序的执行实例。

线程是进程内的执行路径。还有,a process can contain multiple threads

1.

需要注意的是,线程可以执行进程所能做的任何事情。但是,由于一个进程可以由多个线程组成,所以线程可以被认为是一个“轻量级”进程。因此,线程和进程之间的根本区别是每个线程都要完成的工作。线程用于小任务,而进程用于更多的“重量级”任务--基本上是应用程序的执行。

2.

线程和进程之间的另一个区别是,同一进程中的线程共享相同的地址空间,而不同的进程则不共享。这允许线程读取和写入相同的数据结构和变量,还可以方便线程之间的通信。进程之间的通信(也称为IPC,或进程间通信)是相当困难和资源密集型的.

票数 1
EN

Stack Overflow用户

发布于 2014-06-27 17:45:29

我觉得这是个糟糕的问题。

  1. 两者都是独立的执行块。
  2. 这两者都是由操作系统安排的。
  3. 线程在进程的上下文中运行,与进程共享内存。
  4. 我想不出有什么时候线程会有自己的地址空间

根据这种逻辑,我同意你的回答,即线程是一个过程。我觉得这是个沉重的问题。我本想请你解释一下两者之间的区别。

想了解更多信息,这里有一个好的 to view on the subject.

票数 1
EN

Stack Overflow用户

发布于 2014-06-27 17:52:14

每个进程都是一个线程,但不是每个线程都是一个进程。

线程只是一个独立的操作序列。一个过程有一个附加的上下文。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24445699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档