1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。
进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。
       2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。
          3)进程还具有并发性和交往性,这也与程序的封闭性不同。进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
         线程的划分尺度小于进程,使得多线程程序的并发性高。
        另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
          线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
         从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
      线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
     一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

进程和程序区别和联系相关推荐

  1. 线程、进程、程序区别

    线程和进程最根本的区别在于线程是调度和执行的单位,而进程是资源分配的单位:线程是进程的一部分,所以线程又被成为轻量级进程:一个没有线程的进程看做是单线程的:线程只能共享它所属进程的资源. 程序是静态的 ...

  2. 程序、进程、线程区别与联系

    定义: 一 程序是存放在磁盘上的一系列代码和数据的看执行映像,是一个静止的实体, 二 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位,  是一个执 ...

  3. linux进程和程序的却别,操作系统:进程的概念和与程序的区别

    进程的概念和与程序的区别 1.进程的定义 进程是允许某个并发执行的程序在某个数据集合上的运行过程. 进程是由正文段.用户数据段及进程控制块共同组成的执行环境.正文段存放被执行的机器指令,用户数据段存放 ...

  4. 2.1 linux C 进程与多线程入门--(1)进程和程序的区别

    进程和程序的区别: j进程是活动的程序,而程序是一个代码的集合.进程是加载到内存中的程序,而程序没有加载到内存中,只是在磁盘上存储着. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  5. 进程与程序的区别与联系

    进程的定义 进程是允许某个并发执行的程序在某个数据集合上的运行过程. 进程是由正文段.用户数据段及进程控制块共同组成的执行环境. 正文段存放被执行的机器指令. 用户数据段存放进程在执行时直接进行操作的 ...

  6. 28.进程和程序的区别

    1.进程是动态的,程序是静态的. 2.进程是程序执行的一个过程,包括进程创建.进程运行.进程挂起.进程结束.程序是数据+代码.

  7. 进程与程序的区别和联系

    1)进程是程序及其数据在计算机的一次运行活动,是一个运行过程,是一个动态的概念.进程的运行实体是程序,离开程序的进程没有存在的意义.而程序是一组有序的指令集合,是一种静态概念. 2)进程是程序的一次执 ...

  8. php多线程模型,PHP进程模型、进程通讯方式、进程线程的区别分别有哪些?

    PHP进程模型是一个正在执行的程序,可以分配给处理器并由处理器执行的一个实体:PHP进程通讯方式有管道及有名管道,信号,共享内存等:PHP进程线程的区别有进程是资源的分配和调度的一个独立单元,而线程是 ...

  9. 2021-01-27 计算机-进程与线程区别

    计算机-进程与线程 计算机的核心是CPU,它承担了所有的计算任务,而操作系统是计算机的管理者,它负责任务的调度,资源的分配和管理,统领整个计算机硬件:应用程序是具有某种功能的程序,程序是运行于操作系统 ...

最新文章

  1. 全栈 - 20 Web 基础 网页的血肉 CSS
  2. 为什么不使用多机训练神经网络
  3. strcpy和memcpy的区别 | strcpy和strncpy的区别
  4. 三维GIS开发——WorldWindJava入门
  5. 管理者的困境:放权或者崩溃
  6. 练习:string.h常用字符串
  7. CentOS 8源码安装Zabbix5.0
  8. Property ‘id‘ not found on type java.lang.String问题解决
  9. Linux简介,虚拟机,远程操作工具安装及基本使用
  10. 求最长公共子串,简单易懂
  11. 大学生mysql实训心得_大学生实训心得与收获
  12. 《追风筝的人》的寓意读后感3200字:
  13. Unity 资源商店无法登陆,提示链接失效 的解决办法
  14. 80后小学计算机课上的游戏,80后最值得回味的经典课间游戏
  15. 固态硬盘是什么接口_SATA M.2 PCIe?一分钟教你认识固态硬盘接口
  16. 一个计算机专业大专生大学两年来的学习经历
  17. 鸿蒙初开再往前是什么,鸿蒙初开造句,用鸿蒙写一句话
  18. 微信小程序map中polyline的坑
  19. 什么样的恐怖才是真恐怖?由最近所看的一部电影以及最喜欢的游戏系列想到的。
  20. ncbi查找目的基因序列_如何查找目标基因序列?掌握这几招就够了!(NCBI篇)...

热门文章

  1. json格式问题解决方式!
  2. MYSQL的删除和重装
  3. 【Unity连载】斗兽棋-棋类游戏开发演示(2)
  4. web前端开发笔记21~45 2022/10/27
  5. 由旋转矩阵求旋转中心
  6. EXCEL篇—时间序列分析(季节指数法)
  7. HDU4689 Prince and Princess (Tarjan+匈牙利匹配)
  8. MySQL中trim()函数的用法
  9. Webuploader教程(一)------简单实用上传功能
  10. 思科模拟器实验5:交换机端口聚合配置实验