首页 > 试题广场 >

线程,进程区别

[问答题]
程:是程序运行的实例,是系统进行资源分配和调度的一个独立单位,它包括独立的地址空间,资源以及1个或多个线程。 线程:可以看成是轻量级的进程,是CPU调度和分派的基本单位。
发表于 2019-02-25 13:44:25 回复(0)
进程与线程主要有四个方面的区别:拥有资源、调度、系统开销、并发性。

①拥有资源:不管操作系统中,引进或没有引进线程概念,进程都是拥有资源的基本单位;
          引进线程的操作系统中,线程不拥有系统资源,只拥有少量必不可少的资源,但可以访问隶属进程的资源
②调度:传统OS中,进程是独立调度的基本单位;
      引入线程的操作系统中,线程是独立调度的基本单位
③系统开销:在创建、切换、调度等方面进程的系统开销明显大于线程的开销
④并发性:引入线程的OS中,不仅进程之间可以并发执行,同一进程中线程之间也可以并发执行,因而提高了系统的并发性




编辑于 2020-04-30 09:24:26 回复(0)
在没有出现线程之前,进程是系统调用的基本单位。每个进程都一个自己的TCB,用来标识唯一进程。因为进程的上下文切换对CPU消耗比较大,因此产生了线程,从而线程是系统调用的基本单位。而进程是系统分配资源的基本单位。每一个进程里面有一到多个线程,这些线程同享内存空间。
发表于 2019-09-28 09:58:59 回复(0)
一个线程死掉就等于整个进程死掉,这说错了吧
发表于 2019-05-25 18:25:56 回复(2)

线程

线程是操作系统能够进行运算调度的最小单位

进程

进程是资源分配的最小单位

一个进程可以有多个线程,每个线程并行执行不同的任务

进程和线程都是cpu的一个工作时间段的描述,不过两者的颗粒大小不同。

比如:cpu执行程序A = 加载程序A的上下文+执行A+保存A的上下文------>转到程序B的执行

在这个执行中,进程的执行=CPU加载上下文+CPU执行+CPU保存上下文,而线程就是进程中的一个个小段

关系

  1. 线程在进程下执行

  2. 一个进程包含多个线程

  3. 不同进程间数据很难共享,但是同一进程的不同线程之间可以共享数据

  4. 进程间互不影响,但是一个线程失败会导致整个进程失败,所以多进程的程序比多线程的程序更健壮

  5. 进程有自己独立的地址空间,线程没有独立的地址空间

发表于 2020-03-24 11:47:35 回复(0)
线程由进程创建,进程由系统创建
发表于 2019-04-01 09:32:43 回复(0)