进程、线程、超线程

如题所述

第1个回答  2022-06-05
定义:进程是OS操作系统资源分配的基本单位,而线程是CPU调度和执行的基本单位(我理解为资源调度的基本单位);

关系:进程是线程的容器,不存在没有线程的进程,所以线程也被称为轻量级进程。

内存分配:系统会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存,线程组之间共享所属进程的资源。

资源共享和资源同步:进程拥有各自独立的地址空间,资源,所以共享复杂,需要用IPC(进程间通信),同步简单;线程共享所属进程的资源,共享简单,但同步复杂,要通过加锁等措施。

进程占用内存多,切换复杂,CPU利用率低; 线程占用内存少,切换简单,CPU利用率高

相互影响: 因为进程拥有各自独立的地址空间和资源,因此不会相互影响;线程共享所属进程的资源,所以一个线程挂掉可能会导致整个进程挂掉。

超线程是英特尔研发的一种技术。此技术实现了在一个实体CPU中,提供两个逻辑线程。超线程的目的,是提升处理器的逻辑线程,进而充分发挥CPU的资源。
超线程技术把处理器内部的两个逻辑内核模拟成两个物理芯片,让单个处理器就能同时运行两个线程,实现并行计算。超线程技术可以充分利用空闲CPU资源。但是当两个线程同时需要CPU内相同的某个资源时,没抢到资源的线程必须暂时挂起,直到另一个线程将该资源释放以后才能继续。因此,超线程的性能并不等于两个CPU的性能。
相似回答