简单解释"进程和线程"的区别
2012-09-19 18:25
204 查看
概念
进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。
线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
二者关系
线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。
进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。
线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
二者关系
线程和进程的关系是:线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。
相关文章推荐
- 详细解释 hashcode equals() "==" 的区别和联系
- 进程和线程的区别 #include""和 #include <>区别
- 【Java面试题】3 Java的"=="和equals方法究竟有什么区别?简单解释,很清楚
- 简单介绍 "&&" 与 “&” 和 ”|“ 与 ”||“ 的区别
- href="#"与href="javascript:void(0)"的区别
- 极限研究-"&amp;"函数返回引用与返回普通类型的区别
- #include<filename.h>和#include"filename.h"用法区别
- C#中的DBNull、Null、""和String.Empty解释
- <s:form action="login"...与<s:form action = "login.action"...的区别
- Swift之" ?与! "区别
- nil Nil NSNull @""的区别
- "Developer tools access" 需控制另一个进程才能继续调试 解决方案
- 进程与线程的一个简单解释
- string,empty "" null 区别
- Asp.Net中String.Empty、null和""的区别
- 进程与线程的一个简单解释
- 关于"".equals(str)和str.equals("")的区别
- #include"" 在头文件之前包含其他头文件与在源文件前包含头文件有什么区别
- 事件与委托的区别就是“+=”和“-=&quot;?
- java中null与""的区别