多处理和多线程之间的区别
作者:
Laura McKinney
创建日期:
1 四月 2021
更新日期:
14 可能 2024
内容
多处理和多线程都可以提高系统性能。 多处理 正在向系统中添加更多数量的CPU /处理器,从而提高了系统的计算速度。 多线程 允许进程创建更多线程,从而增加系统的响应速度。我已经发现了多处理和多线程之间的更多区别,下面将通过比较表来讨论这些区别。
- 比较表
- 定义
- 关键差异
- 结论
比较表
比较基础 | 多处理 | 多线程 |
---|---|---|
基本的 | 多处理增加了CPU以提高计算能力。 | 多线程可在单个进程中创建多个线程,以提高计算能力。 |
执行 | 多个进程同时执行。 | 单个进程的多个线程可以同时执行。 |
创建 | 创建流程既耗时又耗费资源。 | 在时间和资源上,创建线程都是经济的。 |
分类 | 多重处理可以是对称的也可以是非对称的。 | 多线程未分类。 |
多重处理的定义
多处理系统是具有两个以上处理器的系统。将CPU添加到系统中以提高系统的计算速度。每个CPU都有自己的一组寄存器和主存储器。仅仅因为CPU是分开的,可能会发生一个CPU不能处理任何东西而闲置的情况,而另一个CPU可能使这些进程超载。在这种情况下,进程和资源在处理器之间动态共享。
多重处理可分为 对称多处理 和 非对称多处理。在对称多处理中,所有处理器均可自由运行系统中的任何进程。在非对称多处理中,处理器之间存在主从关系。主处理器负责将进程分配给从处理器。
如果处理器有 集成内存控制器 那么添加处理器将增加系统中的可寻址内存量。多重处理可以改变内存访问模型 统一内存访问 至 内存访问不一致。统一内存访问等于从任何处理器访问任何RAM的相同时间。另一方面,不均匀的内存访问比其他部分要花费更长的时间来访问内存的某些部分。
多线程的定义
多线程是在单个进程的范围内同时执行多个线程。现在让我们首先讨论什么是线程?一种 线 进程的意思是一个进程的代码段,它具有自己的线程ID,程序计数器,寄存器和堆栈,并且可以独立执行。但是属于同一个进程的线程必须共享该进程的所有东西,例如代码,数据和系统资源。为每个服务请求创建单独的流程会浪费时间并浪费系统资源。与其产生这种开销,不如创建一个进程的线程,效率更高。
要了解多线程概念,让我们来看一下 例 文字处理器。一个文字处理器,显示图形,响应按键,同时继续进行拼写和语法检查。您不必同时打开其他字处理器。它确实在多个线程的帮助下在单个文字处理器中发生。 现在让我们考虑一下多线程的好处。多线程增加了 反应性 就像进程的一个线程被阻塞或执行冗长的操作一样,该进程仍然继续。多线程的第二个好处是 资源共享 因为一个进程的多个线程在相同的地址空间内共享相同的代码和数据。创建线程是 经济 因为它共享它们所属的过程的代码和数据。因此,系统不必为每个线程分别分配资源。多线程可以 增加 在多处理操作系统上。随着多CPU上多线程的增加 并行性.
- 多处理和多线程之间的主要区别在于,多处理允许系统向系统中添加两个以上的CPU,而多线程则允许进程生成多个线程以提高系统的计算速度。
- 多处理系统执行 多个过程 同时,多线程系统让我们执行 多线程 一个过程同时进行。
- 创建一个过程可以 消耗时间 和 甚至排气 系统资源。但是创建线程是 经济 因为属于同一进程的线程共享该进程的财产。
- 多重处理可分为 对称多处理 和 非对称多处理 然而,多线程没有进一步分类。
结论:
随着多处理系统上的多线程增加并行性,在多处理环境中可以逐渐增加多线程的好处。