进程和线程之间的技术区别是什么?

我感觉像“进程”这样的词被过度使用了,而且还有硬件和软件线程。像Erlang这样的语言中的轻量级进程怎么样?是否有明确的理由使用一个术语而不是另一个术语?


当前回答

进程是代码、内存、数据和其他资源的集合。线程是在进程范围内执行的一系列代码。您可以(通常)在同一进程中同时执行多个线程。

其他回答

以下是我从代码项目的一篇文章中得到的内容。我想它清楚地解释了所需的一切。

线程是另一种将工作负载拆分为单独的执行流。线程的重量比进程轻。这这意味着,它提供的灵活性不如全面流程,但可以启动速度更快,因为操作系统设置当程序由两个或多个线程组成时线程共享单个内存空间。进程被赋予单独的地址空间。所有线程共享一个堆。但每个线程都有自己的堆栈。

进程:正在执行的程序称为进程

线程:线程是一种基于“一个与另一个”的概念与程序的其他部分一起执行的功能,因此线程是进程的一部分。。

将流程视为一个所有权单位或任务所需的资源。进程可以具有内存空间、特定输入/输出、特定文件和优先级等资源。

线程是一个可调度的执行单元,或者简单地说是一系列指令的进程

进程和线程的真实示例这将为您提供有关线程和进程的基本信息

我从Scott Langham的回答中借用了上述信息-谢谢

线程在共享内存空间中运行,但进程在单独的内存空间中线程是一个轻量级进程,但进程是一个重量级进程。线程是进程的一个子类型。