程序、进程、线程区别与联系
定义:
一 程序是存放在磁盘上的一系列代码和数据的看执行映像,是一个静止的实体,
二 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位, 是一个执行中的程序,它是动态的实体;
三 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;
一 进程与线程区别与联系
(1) 划分尺度:线程更小,所以多线程程序并发性更高;
(2) 资源分配:进程是资源分配的基本单位,同一进程内多个线程共享其资源;
(3) 地址空间:进程拥有独立的地址空间,同一进程内多个线程共享其资源;
(4) 处理器调度:线程是处理器调度的基本单位;
(5) 执行:每个线程都有一个程序运行的入口,顺序执行序列和程序的出口,但线程不能单独执行,必须组成进程,一个进程至少有一个主线程。简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
二 进程和程序区别和联系
(1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。反映了一个程序在一定的数据集上运行的全部动态过程。
(2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。
(3)进程还具有并发性和交往性,这也与程序的封闭性不同。
进程和程序区别和联系表现在以下方面:
1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。
进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。
2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。
3)进程还具有并发性和交往性,这也与程序的封闭性不同。进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行
转载于:https://www.cnblogs.com/gxpblogs/archive/2013/05/15/3080433.html
程序、进程、线程区别与联系相关推荐
- CPU核心数线程数、程序进程线程、并发并行的简单理解
CPU核心数线程数.程序进程线程.并发并行.简单理解和区分 这篇文章是对上述感念的简单理解,想深入研究可以看看<计算机组成原理> CPU的核心数 线程数 当我们买电脑的时候,会看到CPU的 ...
- 02 线程简介 多任务 多线程 普通方法调用和多线程 程序.进程.线程 Proces与Thread 核心概念
线程简介 任务,进程,线程,多线程 多任务 多任务处理是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务 多线程 原来是一条路,慢慢因为车太多了,道路堵塞,效率极低. 为了提高使用的 ...
- 任务 进程 线程区别
任务.进程.线程区别 任务,是指软件完成的一个活动.一个任务可以是一个进程也可以是一个线程.简而言之,就是一系列共同达到某一目的的操作.例如读取数据并将数据存放入内存. 进程,常被定义为程序的执行,可 ...
- CPU核心数线程数、程序进程线程、并发并行
核心数(物理概念) 8核:有8个相对独立的CPU核心单元组,这是物理概念,也就是说1个CPU有 8个独立的小CPU,物理上只能同时处理8个任务,也就是物理上是8核8线程. 线程数(逻辑概念) 既然物理 ...
- linux 程序 进程 线程的关系
程序 定义:通常为二进制文件存放在存储媒介中(硬盘,光驱,软盘等),已物理文件的形式存在. 启动程序,通常要运行某个文件,这个文件就是程序,程序其实是存放在磁盘中的一个二进制文件. 进程 程序被触发后 ...
- c语言面试进程 线程区别,面试必问题目“进程、线程对比”,包你会-博客
简要说明 在C语言.C++等方向面试时,经常会被问道 进程.线程等问题,当然了10年前我刚开始找工作那会,也是各种煎熬"我又不写操作系统,为什么还要学这么底层的知识",真想不通面试 ...
- 进程线程区别,和线程初识
进程是计算机中最小的资源分配单位在利用多个CPU执行的过程中,对多个程序的资源进行管理和隔离 进程的弊端开启和关闭 以及 切换 都会带来很大的时间开销过多的进程还会造成操作系统调度的压力 线程线程是C ...
- 20140625 程序 进程 线程 物理存储器
1.程序 .exe就是一个程序 2.进程 运行一个.exe的可执行程序后,就启动了该程序的一个实例,我们称之为"进程".是资源申请,调度和独立运行的单位,使用系统的运行资源 3.线 ...
- linux指定cpu运行程序,进程/线程绑定到特定CPU核的linux实现(有代码有实例)
前言 现在计算机上的CPU大多都是多核的,有4核甚至是8核的.但是一个计算机启动之后其进程数是远远多于CPU核数的,因为操作系统会给自动调度这些进程在CPU核上轮流运行.但是对于应用程序或者进程,其性 ...
- 程序-进程-线程 ( 多线程 )
1.程序 (program) 是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态的对象. 2.进程 (process) 是程序的一次执行过程,或是正在运行的一个程序.动态过程: ...
最新文章
- jQuery获取和设置元素
- 安装mysql8.0.20,报错“找不到VCRUNTIME140_1.dll”
- redis 值字符串前面部分乱码_StringBoot 整合Redis解决存储乱码(通过StringRedisSerializer来进行序列化)...
- 看完这一篇,你就对 Spring Security 略窥门径了 | 原力计划
- arduino 休眠 节能_Arduino低功耗掉电模式看门狗唤醒
- 设计模式总结(Java)—— 单例模式
- 小小知识点(十一)——MATLAB中fftshift的作用
- 如何通过安全的网络防御XcodeGhost?
- 菜鸟教程python100例-菜鸟教程python
- 图片验证码的实现方法
- Robust Odometry Estimation for RGB-D Cameras
- Java爬虫(三)后台发请求获取页面解析数据
- 卸载有管理密码的瑞星企业版客户端
- android kodi 启动器,kodi安卓
- 计算机ppt制作培训心得,PPT课件制作及微课录制心得
- 淘宝新店流量如何从0到1000
- Python用Requests爬虫实现截屏翻译
- SPL 工业智能:识别指定工况
- Android NKD环境搭建 若干问题.
- python-爬虫:获取163邮箱的收件箱信息列表