术语:
thread 线
multithread 多线程
Threads 线程
processes 进程
内存
每一个进程都关系到内存。内存就像是前面所说的活页笔记夹中的活页
纸,它代表的意义完全得看纸面上写些什么而定。内存可以大致分为三种类型:
i Code
i Data
i Stack
Code 是程序的可执行部分,一定是只读(read only)性质。这是 CPU 唯
一允许执行的内存。可执行 Windows NT 的两种芯片:Intel 芯片和 RISC 芯片
都有这项限制。
Data 是你的程序中的所有变量(不包括函数中的局部变量),可以区分为
全局变量和静态变量两种。当然线程也可以使用 malloc()或 new 动态配置内存。
Stack 是你调用函数时所用的堆栈空间,其中有局部变量。每个线程产生
时配有一个堆栈。如果不需要,操作系统会将它动态扩充。
同步控制:
临界区:
在程序中初始化一个临界区,就可保护进程中的地址空间,在每个函数的开始加入临界区,函数返回前移除临界区
就可保护起地址空间中的内存,只要某个临界区中的函数正在对内存进行操作,其他函数就只有等待