多线程编程的几个关键点
2013-06-07 10:55
162 查看
1.静态变量不管是全局的还是局部的,都被线程共享,因为它们位于进程的数据内存空间(这一点在形式上类似于类的静态数据成员)。
2.而在函数中的自动变量总是局部的,因为它们占据堆栈空间,而每个线程都有它自己的堆栈,所以对每个线程而言,它们是独立的。(外加一句932页内容:静态变量是所有线程共享的。另外还有一种情况TLS,后续会讲到)
3.为了帮助协调线程活动,操作系统需要各种形式的同步。其中有一种叫信号灯(Semaphore),能让程序员在代码的某一特定点上,暂停线程的执行直到另一个线程发信号让它继续。
4.跟信号灯相似的还有临界区(Critical Section),它们指的是不能被中断的代码段。
5.一些变量可能要被调整为全局变量,例如《Windows程序设计》第930页的RNDRCTMT程序将将以下变量作为了全局变量:
2.而在函数中的自动变量总是局部的,因为它们占据堆栈空间,而每个线程都有它自己的堆栈,所以对每个线程而言,它们是独立的。(外加一句932页内容:静态变量是所有线程共享的。另外还有一种情况TLS,后续会讲到)
3.为了帮助协调线程活动,操作系统需要各种形式的同步。其中有一种叫信号灯(Semaphore),能让程序员在代码的某一特定点上,暂停线程的执行直到另一个线程发信号让它继续。
4.跟信号灯相似的还有临界区(Critical Section),它们指的是不能被中断的代码段。
5.一些变量可能要被调整为全局变量,例如《Windows程序设计》第930页的RNDRCTMT程序将将以下变量作为了全局变量:
HWND hwnd ; int cxClient, cyClient ;
相关文章推荐
- c++ 多线程编程常用的几个函数
- 多线程编程几个误区
- 嵌入式C编程中最容易出错的几个关键点
- 使用多线程编程的几个常见问题
- 浅谈Windows多线程编程几个常见问题
- 多线程编程的几个经典问题
- Web 后端编程的几个关键点(总结中...)
- DELPHI下多线程编程的几个思维误区(QDAC)
- 使用多线程编程的几个常见问题
- c++ 多线程编程常用的几个函数
- (转帖)使用多线程编程的几个常见问题- -
- C#多线程之三:解决多线程编程中大并发数等待唤醒的问题
- 多线程编程之Timer 学习笔记
- Linux socket编程(三) 简单的多线程聊天室
- Java多线程编程实战指南(设计模式篇,黄文海)-之管道线模式
- iOS多线程编程之NSThread的使用
- 【C/C++多线程编程之十】pthread线程私有数据
- 多线程编程1 - NSThread
- *Linux Shell 高级编程技巧4----几个常用的shell脚本例子
- 网络编程_TCP_Socket通信_聊天室_客户端多线程_群聊JAVA191-192