程序、进程与线程的关系
2016-07-15 17:16
239 查看
程序(Program或Procedure,港台称之为程式)是一组用计算机语言编写的命令序列的集合。程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的「程序」就称之为进程。线程是系统分配处理器时间资源的基本单元。每启动一个程序,就至少启动了一个进程。
进程(Process,台湾译作行程)是计算机中已运行程序的实体。程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。进程本身不会运行,是线程的容器。线程不能单独执行,必须组成进程。一个程序至少有一个进程,一个进程至少有一个线程。
![](http://s2.51cto.com/wyfs02/M00/84/3A/wKiom1eIqY7il2J7AAAyvcssSjs721.gif)
线程(Thread,台湾称执行绪)是进程中某个单一顺序的控制流,指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。多线程主要是为了节约CPU时间。
![](http://s3.51cto.com/wyfs02/M00/84/3A/wKioL1eIqcLgv3pkAACyvHSIAPs419.jpg)
在任务管理器中查看进程和线程
线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(线程的运行中需要使用计算机的内存资源和CPU),但它可与同属一个进程的其它线程共享进程所拥有的全部资源。通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。
------------------------------------------------------------------------------------
程序:一组指令的有效集合进程:程序的执行就是进程。也可以把进程看成一个独立的程序,在内存中有其对应的代码空间和数据空间,一个进程所拥有的数据和代码只属于自己。进程是资源分配的基本单位,也是调度运行的基本单位。线程:线程被人们认为是轻量级的进程,它是进程中单独运行的一路程序。换句话说,就是一个进程可以包含多个线程,并且至少有一个主线程,同时同一进程的线程共享该进程的代码和数据。于此同时,每一个线程又都有自己的堆栈,这些堆栈对于线程来说是私有的。线程是处理机调度的基本单位。那为什么要引入线程呢?1、便于调度2、线程可以共享进程的数据和代码,从而比进程需要通过消息才能通信来得更加简单。启动和切换的速度也比进程快。3、具有高并发性,可以启动多个线程执行同程序的不同部分。4、充分利用处理器的功能。让每一个处理器上运行不同线程,从而实现应用程序的并发性。程序和进程的区别1、程序是静态的,它知识一组冰冷的指令的集合,不具有任何的运行意义。而进程是程序运行在数据集上的动态过程,进程是一个动态实体,它应创建而产生,应调度执行,应等待资源或者是事件而处于等待状态,应完成了任务而被撤销,它有自己的生命周期,它反应了程序在数据集上运行的全部动态过程。2、进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程。3、进程还具有并发性和交往性,而程序却是封闭的。进程和线程的区别1、一个进程可以拥有多个线程,而一个线程同时只能被一个进程所拥有。2、进程是资源分配的基本单位,线程是处理机调度的基本单位,所有的线程共享其所属进程的所有资源与代码。3、线程执行过程之中很容易进行协作同步,而进程需要通过消息通信进行同步。4、线程的划分尺度更小,并发性更高。5、线程共享进程的数据的同时,有自己私有的的堆栈。6、线程不能单独执行,但是每一个线程都有程序的入口、执行序列以及程序出口。它必须组成进程才能被执行。
进程(Process,台湾译作行程)是计算机中已运行程序的实体。程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。进程本身不会运行,是线程的容器。线程不能单独执行,必须组成进程。一个程序至少有一个进程,一个进程至少有一个线程。
![](http://s2.51cto.com/wyfs02/M00/84/3A/wKiom1eIqY7il2J7AAAyvcssSjs721.gif)
线程(Thread,台湾称执行绪)是进程中某个单一顺序的控制流,指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。多线程主要是为了节约CPU时间。
![](http://s3.51cto.com/wyfs02/M00/84/3A/wKioL1eIqcLgv3pkAACyvHSIAPs419.jpg)
在任务管理器中查看进程和线程
线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源(线程的运行中需要使用计算机的内存资源和CPU),但它可与同属一个进程的其它线程共享进程所拥有的全部资源。通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。
------------------------------------------------------------------------------------
程序:一组指令的有效集合进程:程序的执行就是进程。也可以把进程看成一个独立的程序,在内存中有其对应的代码空间和数据空间,一个进程所拥有的数据和代码只属于自己。进程是资源分配的基本单位,也是调度运行的基本单位。线程:线程被人们认为是轻量级的进程,它是进程中单独运行的一路程序。换句话说,就是一个进程可以包含多个线程,并且至少有一个主线程,同时同一进程的线程共享该进程的代码和数据。于此同时,每一个线程又都有自己的堆栈,这些堆栈对于线程来说是私有的。线程是处理机调度的基本单位。那为什么要引入线程呢?1、便于调度2、线程可以共享进程的数据和代码,从而比进程需要通过消息才能通信来得更加简单。启动和切换的速度也比进程快。3、具有高并发性,可以启动多个线程执行同程序的不同部分。4、充分利用处理器的功能。让每一个处理器上运行不同线程,从而实现应用程序的并发性。程序和进程的区别1、程序是静态的,它知识一组冰冷的指令的集合,不具有任何的运行意义。而进程是程序运行在数据集上的动态过程,进程是一个动态实体,它应创建而产生,应调度执行,应等待资源或者是事件而处于等待状态,应完成了任务而被撤销,它有自己的生命周期,它反应了程序在数据集上运行的全部动态过程。2、进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程。3、进程还具有并发性和交往性,而程序却是封闭的。进程和线程的区别1、一个进程可以拥有多个线程,而一个线程同时只能被一个进程所拥有。2、进程是资源分配的基本单位,线程是处理机调度的基本单位,所有的线程共享其所属进程的所有资源与代码。3、线程执行过程之中很容易进行协作同步,而进程需要通过消息通信进行同步。4、线程的划分尺度更小,并发性更高。5、线程共享进程的数据的同时,有自己私有的的堆栈。6、线程不能单独执行,但是每一个线程都有程序的入口、执行序列以及程序出口。它必须组成进程才能被执行。
相关文章推荐
- VectorDrawable-第三章
- Sicily merge
- c primer plus第13章总结:文件输入/输出
- 715 美丽的图片可以这样做+pdf显示
- Javascrip检测类型
- Codeforces Round #362 (Div. 2) D. Puzzles(dfs)
- 输入一个整数,将这个整数以字符串的形式逆序输出
- Android Launcher T9搜索APP实现
- 6.函数
- 梅森素数与孪生素数
- 5-73 通讯录(动态申请内存)
- C++ 通过ADO.Net实现与MySql数据库连接 入门教程
- 23种设计模式之策略模式(Strategy Pattern)
- 多重邻接表
- activiti工作流数据库表详细介绍(23张表)
- AFNetworking3.0改变之图片语音上传下载
- bzoj1003物流运输
- 多重邻接表
- C#数组的声明方式
- 设计模式--5.1 代理模式--入门