进程与线程的区别联系

转载 2015年07月10日 10:36:13

一。什么是进程

       进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位

       线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。

      系统资源:线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。

       进程的作用和定义:进程是为了提高CPU的执行效率,减少因为程序等待带来的CPU空转以及其他计算机软硬件资源的浪费而提出来的。进程是为了完成用户任务所需要的程序的一次执行过程和为其分配资源的一个基本单位,是一个具有独立功能的程序段对某个数据集的一次执行活动。


二。线程和进程的区别:

1、 线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。
2、 一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。
3、 系统在运行的时候会为每个进程分配不同的内存区域但是不会为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源那就是说,除了CPU之外(线程在运行的时候要占用CPU资源),计算机内部的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源
4、 与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。
5、 进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。


三。线程相对进程的优点

        进程切换比线程切换开销大是因为进程切换时要切页表,而且往往伴随着页调度,因为进程的数据段代码段要换出去,以便把将要执行的进程的内容换进来。本来进程的内容就是线程的超集。而且线程只需要保存线程的上下文(相关寄存器状态和栈的信息)就好了,动作很小。


四。进程与程序的区别:

         程序是一组指令的集合,它是静态的实体,没有执行的含义。而进程是一个动态的实体,有自己的生命周期一般说来,一个进程肯定与一个程序相对应,并且只有一个,但是一个程序可以有多个进程,或者一个进程都没有也可以只有一个进程。除此之外,进程还有并发性和交往性。简单地说,进程是程序的一部分,程序运行的时候会产生进程。总结:线程是进程的一部分,进程是程序的一部分。

程序、进程、线程的联系与区别

程序:一组指令的有效集合 进程:程序的执行就是进程。也可以把进程看成一个独立的程序,在内存中有其对应的代码空间和数据空间,一个进程所拥有的数据和代码只属于自己。进程是资源分配的基本单位,也是...
  • ivyvae
  • ivyvae
  • 2014-09-26 22:38:38
  • 1654

进程与线程之间的区别及联系

一、定义:     1、进程:进程是一个具有独立功能的程序关于某个数据集合的以此运行活动。是系统进行资源分配和调度的独立单位,也是基本的执行单元。是一个动态的概念,是一个活动的实体。它不只是程序的代...
  • gogoky
  • gogoky
  • 2016-05-08 16:27:33
  • 1535

进程 线程 程序的区别与联系

进程和程序区别和联系表现在以下方面:  1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。 进程是一个动态的实体,它有自己的...
  • tonywgx
  • tonywgx
  • 2011-10-31 13:53:47
  • 4047

进程与线程的区别与联系(经典面试题)

这问题,估计计算机专业的同学在找研发等工作的时候都会遇到过。前几天某老牌软件厂商的电话面试就提到了这一经典问题,今天招聘会上又有不少同学说在面试的时候被问到这点。在这里我就起个头,大家有啥想法意见等都...
  • u012349696
  • u012349696
  • 2016-03-17 15:26:19
  • 976

进程和线程的定义、区别与联系

一、进程 进程:指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。     注意,进程一般有三个状态:就绪状态、执行状态和等待状态【...
  • yanxiaolx
  • yanxiaolx
  • 2016-06-26 16:52:14
  • 19958

Linux进程与线程的区别和联系

1、两者区别:(1)进程是比较大的单位,一个进程可以有多个线程,一个线程只能被一个进程拥有。 (2)进程是资源分配的基本单位,线程是处理机制调度的最小单位,所有的线程共享其所属进程的所有资源与代码。...
  • u010889616
  • u010889616
  • 2015-08-30 19:42:49
  • 492

进程和线程关系及区别

1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立...
  • yaosiming2011
  • yaosiming2011
  • 2015-03-15 21:06:12
  • 233186

进程与线程之间的区别与联系

目录 基础知识介绍 进程详解 概念 计算机中的表示方法 调度状态 线程详解 概念 状态转换 进程与其他概念的一些异同 特点 进程与线程之间的联系 进程与线程之间的区别 进程与程序之间的区...
  • gui951753
  • gui951753
  • 2018-03-05 20:27:03
  • 55

腾讯面试题04.进程和线程的区别?

进程和线程的区别? 进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有...
  • mxsgoden
  • mxsgoden
  • 2013-04-19 01:06:46
  • 22860

Linux系统编程——进程和线程的区别与联系

在许多经典的操作系统教科书中,总是把进程定义为程序的执行实例,它并不执行什么, 只是维护应用程序所需的各种资源,而线程则是真正的执行实体。为了让进程完成一定的工作,进程必须至少包含一个线程。进程,直观...
  • tennysonsky
  • tennysonsky
  • 2015-05-27 14:48:04
  • 9978
收藏助手
不良信息举报
您举报文章:进程与线程的区别联系
举报原因:
原因补充:

(最多只允许输入30个字)