[转]线程,进程和程序的简单比较
2008-11-07 09:35
351 查看
线程,进程和程序的简单比较
By Jackie on October 10, 2007 10:57 AM| 0 Comments
| Previous |
Next | EDIT
我对于线程,进程的概念一直都是比较模糊,最近整理了一下。总结起来就是,线程是进程的一部分,进程是程序的一部分。
线程的引入:
例如,有一个Web服务器要进程的方式并发地处理来自不同用户的网页访问请求的话,可以创建父进程和多个子进程的方式来进行处理,但是创建一个进程要花费
较大的系统开销和占用较多的资源。除外,这些不同的用户子进程在执行的时候涉及到进程上下文切换,上下文切换是一个复杂的过程。所以,为了减少进程切换和
创建的开销,提高执行效率和节省资源,人们在操作系统中引入了"线程(thread)"的概念。
进程的作用和定义:进程是为了提高CPU的执行效率,减少因为程序等待带来的CPU空转以及其他计算机软硬件资源的浪费而提出来的。进程是为了完成用户任务所需要的程序的一次执行过程和为其分配资源的一个基本单位,是一个具有独立功能的程序段对某个数据集的一次执行活动。
线程和进程的区别:
1、线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。
2、一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。
3、系统在运行的时候会为每个进程分配不同的内存区域,但是不会为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。那就是
说,出了CPU之外(线程在运行的时候要占用CPU资源),计算机内部的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源。
4、与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。
5、进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。
进程与程序的区别:
程序是一组指令的集合,它是静态的实体,没有执行的含义。而进程是一个动态的实体,有自己的生命周期。一般说来,一个进程肯定与一个程序相对应,并且只有
一个,但是一个程序可以有多个进程,或者一个进程都没有。除此之外,进程还有并发性和交往性。简单地说,进程是程序的一部分,程序运行的时候会产生进程。
总结:
线程是进程的一部分,进程是程序的一部分。
本文发布在操作系统分类下,标签为:程序,线程,进程
本文固定链接为:http://www.hinn.cn/2007/10/thread_process_program.html
---------------------------------------------------------------
原文地址:http://www.hinn.cn/2007/10/thread_process_program.html
相关文章推荐
- 黄聪:线程,进程和程序的简单比较
- linux程序设计之线程、进程和程序的简单比较
- 线程,进程和程序的简单比较
- 任务,线程,进程和程序的简单比较
- 线程,进程和程序的简单比较
- 线程、进程和程序的简单比较【转】
- 线程,进程和程序的简单比较
- 线程,进程和程序的简单比较
- 线程,进程和程序的简单比较
- [转]线程,进程和程序的简单比较
- 线程与进程的简单比较
- 程序,进程,线程比较
- Java多线程1—程序、进程、线程比较
- 对程序,进程,线程进行比较(总结)
- 【windows--进程和线程】多线程编程(比较完整的简单介绍)
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- 程序,进程,线程的简单说明
- 进程与线程的一个简单解释
- python 多线程与多进程的简单测试比较
- 进程与线程的一个简单解释