Win32多线程程序设计-读书笔记-进程和线程的区别

一直没弄明白Win下面进程和线程的区别,这里记一下,还是看书好啊,可以解决自己的知识死角:

Process 进程:

      进程含有内存和资源,内存从理论上可以达到2G,资源包括核心对象(如File Handle,线程),USER资源(对话框和字符串),GDI资源(如Device Context和brushes)。进程就像是一个活页夹,本身并不包含任何操作,只是拥有东西,并提供一个安置内存和线程的地方。或者说,进程就是一大堆对象拥有权的集合。

内存:

      每一个进程都关联一部分内存,就好比是活页夹里的活页纸,里面的内容则大体可以分为三种,

      Code,程序的可执行部分,为Read-Only,这是CPU唯一允许执行的地方。

      Data,是所有变量(不包括函数中的局部变量),可以包含全局变量和静态变量以及Malloc和Free的动态内存。

      Stack,调用函数和局部变量的堆栈。每个线程产生时都会配有一个堆栈。

      进程内部的内存是其所有线程可用的。

Thread 线程:

       进程和内存都没有定义实际的操作,而一旦CPU开始执行程序代码,就有了一个“线程”。一个进程可以有大量的线程来操作同一块代码。一个线程的状态被记录进程的某块内存中,以及CPU的寄存器上。而检测寄存器就能够知道线程在任何时候的状态。

 

BTW,资源消耗对比:

       Win下线程创建<Unix下一个进程创建<Win下进程创建

转载于:https://www.cnblogs.com/gambell/archive/2008/10/13/1309858.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值