Win32多线程之进程

来源:互联网 发布:淘宝手机充值代理加盟 编辑:程序博客网 时间:2024/04/30 03:49

从win32的角度来看,进程含有内存和资源。资源包括核心对象(如文件Handles 和线程),USER资源(如对话框和字符串),GDI资源(如设备上下文和画刷)。

进程就像一本活页笔记夹,你可以在其中的活页上写东西,也可以擦掉内容或甚至整页撕掉,活页笔记夹只是持有那些东西而已。

进程本身并不执行,它只是提供一个安置内存和线程的地方。

内存:每个进程都关系到内存。内存就像是前面所说的活页笔记夹中的活页纸,它代表的意义完全得看纸面上写些什么而定。

内存大致分为三种类型:

1.Code

2.Data

3.Stack

Code是程序的可执行部分,一定是只读(Read-Only)性质,这是CPU唯一允许执行的内存。

Data是你的程序中的所有全局变量和静态变量两种,当然线程也可以使用malloc或new动态分配内存。

Stack 是你调用函数时所用的堆栈空间,其中有局部变量,每个线程产生时配有一个堆栈,如果不需要,操作系统会将它动态扩充。

所有这些内存对进程中的所有线程都是可用的,这在多线程中虽然带来很大的方便,却也带来很大的灾难。

原创粉丝点击