有人问我这个面试问题。我回答说,线程是一个过程后,认为过程是一个超集的线程,但面试官不同意它。这是令人困惑的,我无法找到任何明确的答案。
发布于 2014-06-27 18:03:54
进程是应用程序的执行实例。
线程是进程内的执行路径。还有,a process can contain multiple threads。
1.
需要注意的是,线程可以执行进程所能做的任何事情。但是,由于一个进程可以由多个线程组成,所以线程可以被认为是一个“轻量级”进程。因此,线程和进程之间的根本区别是每个线程都要完成的工作。线程用于小任务,而进程用于更多的“重量级”任务--基本上是应用程序的执行。
2.
线程和进程之间的另一个区别是,同一进程中的线程共享相同的地址空间,而不同的进程则不共享。这允许线程读取和写入相同的数据结构和变量,还可以方便线程之间的通信。进程之间的通信(也称为IPC,或进程间通信)是相当困难和资源密集型的.
发布于 2014-06-27 17:45:29
我觉得这是个糟糕的问题。
根据这种逻辑,我同意你的回答,即线程是一个过程。我觉得这是个沉重的问题。我本想请你解释一下两者之间的区别。
想了解更多信息,这里有一个好的 to view on the subject.
发布于 2014-06-27 17:52:14
每个进程都是一个线程,但不是每个线程都是一个进程。
线程只是一个独立的操作序列。一个过程有一个附加的上下文。
https://stackoverflow.com/questions/24445699
复制相似问题