Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184809
  • 博文数量: 41
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-23 21:42
文章分类

全部博文(41)

文章存档

2008年(41)

我的朋友

分类:

2008-09-03 15:27:26

微软官方对进程和线程的定义:  
  进程:用最简洁的话来说,进程就是一个正在执行的程序,一个或多个线程在进程中运行,线程是操作系统分配CPU运算时间的最小单位。每一个进程都提供了运 行一个程序所必需的资源,一个进程具有4GB的虚拟地址空间(Windows   NT   Server   Enterprise   Edition及Windows   2000   Advanced   Server中低3GB虚拟地址空间供进程使用,高1GB供操作系统的内核代码使用。Windows   NT/2000中低2GB供进程使用,高2GB供操作系统内核代码使用。Windows9X:0——64K只读空间用来装入Microsoft   DOS信息,64K——4M装入DOS的兼容代码,4M——2GB的私有空间供进程使用,2GB——3GB的共享空间装入各种DLL代码,3GB—— 4GB为共享的系统内核代码空间,其中共享的2GB——4GB的空间是99%的“内存无效页错误”、“General   Protect   Error(GPE)”及蓝屏的罪魁祸首。),可执行代码,数据,对象句柄,环境变量,优先权以及设置最大化最小化的功能。每一个进程都从一个主线程开始 执行,但可以在它所拥有的线程中创建额外的线程。一个进程的所有线程共享进程的虚拟地址空间和系统资源,一个线程的资源包括线程的机器寄存器设置,内核堆 栈,线程环境变量和进程虚拟地址中的用户堆栈。



  进程是操作系统分配运行空间的基本单位  
  线程是占用CPU的基本单位,又叫轻型进程  
  一个进程可以含多个线程  
  现在暴力破解密码的、各种下载软件就是多线程的



  如下图:  
   
  ┏━━━━━━━┓  
  ┃ A B C  ┃  
  ┃ │ ┃ │    ┃  
  ┃ │ ┃ │    ┃  
  ┃ │ ┃ │    ┃  
  ┃ │ ┃ │    ┃  
  ┃ │ ▉ │    ┃  
  ┃ │ ┃ │    ┃  
  ┃ │ ┃ │    ┃  
  ┃ ▉ ┃ │    ┃  
  ┃ │ ┃ │    ┃  
  ┃ │ ┃ │    ┃  
  ┃ │ ┃ │    ┃  细竖线表示线程;  
  ┃ │ ┃ ▉   ┃  粗竖线表示主进程;  
  ┃ │ ┃ │    ┃  方块表示当前位置;  
  ┃ │ ┃ │    ┃  方框表示进程封装;  
  ┃ 1 2 3  ┃  字母表示进程名称;  
  ┃ └─╂─┘     ┃  数字表示进程CPU地址。  
  ┗━━━━━━━┛  
    我就是进程  
   
   
   1.进程如树根,线程如树干,所有线程都直接或间接由进程得来。  
   2.B线程是程序运行时创建的,由他创建A和C,它就是树子的主树  
    干,其它小树干(树枝)由它长出  
   3.每个树枝(线程)几乎可以做到互不影响,砍断一个另两个仍然生长  
   4.CPU如生长素,按顺序分别在ABC三个地方施加向上的一个推动线程  
    的力,虽然CPU在某个时刻只在一个地点出现,但由于快速的切换导  
    致我们无法发现,犹如快速切换具有相似性的一组静态图片可以使  
    我们看到运动图像一样。  
    5.当所有的树干都被砍断,树根的存在就不再有意义了,所以它会自  
    动地“烂掉”。
阅读(977) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~