您的位置:首页 > 编程语言

多线程编程的几个关键点

2013-06-07 10:55 162 查看
1.静态变量不管是全局的还是局部的,都被线程共享,因为它们位于进程的数据内存空间(这一点在形式上类似于类的静态数据成员)。

2.而在函数中的自动变量总是局部的,因为它们占据堆栈空间,而每个线程都有它自己的堆栈,所以对每个线程而言,它们是独立的。(外加一句932页内容:静态变量是所有线程共享的。另外还有一种情况TLS,后续会讲到)

3.为了帮助协调线程活动,操作系统需要各种形式的同步。其中有一种叫信号灯(Semaphore),能让程序员在代码的某一特定点上,暂停线程的执行直到另一个线程发信号让它继续。

4.跟信号灯相似的还有临界区(Critical Section),它们指的是不能被中断的代码段。

5.一些变量可能要被调整为全局变量,例如《Windows程序设计》第930页的RNDRCTMT程序将将以下变量作为了全局变量:

HWND hwnd ;
int  cxClient, cyClient ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: