《win32多线程程序设计》学习笔记——关于C++类中的线程函数声明
2012-03-04 12:58
330 查看
当线程函数属于某个类时,如果不为静态函数,那么该线程函数会有一个this指针参数,而操作系统只知道把参数推入新堆栈,因为当操作系统启动一个新线程时,它也为该线程产生一个专用的堆栈,操作系统必须在这一新堆栈中重新产生一个对你的线程函数的调用操作,这个操作当然是由操作系统调用,那么线程函数的类型一定要符合__cdecl 或 WINAPI(也就是__stdcall)。因此为了以一个成员函数启动一个线程,要么就是用静态成员函数,要么就是用C函数(而非C++成员函数),其实这两个方法本质是一样的,都需正确的建立“调用函数是所需堆栈”。但静态成员函数能够处理类的private/protected
静态成员变量。
静态成员变量。
相关文章推荐
- 关于在C++类里面建立线程
- Thin的DateChooser代码学习(关于js的函数参数为一个完整的函数以及“对象不支持此属性或方法”错误的解决)(原创,转载请声明)
- 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析学习笔记
- 为什么类中的线程函数必须要声明静态
- 关于函数声明的小知识点
- 关于线程函数结束前显式调用_endthreadex
- 一个讨论引发关于js中函数声明,函数表达式,形参与变量声明赋值引发的一些事(http://www.cnblogs.com/zhouyongtao/archive/2012/11/22/2783089)
- 关于作为函数参数的多维数组的声明、定义和调用
- 关于Qt中使用线程的时候函数具体在哪个线程中运行的问题
- 《Win32多线程程序设计》学习笔记 第10章 MFC 中的线程
- Linux多线程环境下 关于进程线程终止函数总结
- 关于C中函数声明与定义
- zebra关于线程管理的相关函数的简要功能介绍
- 关于c++中函数原型声明的小讨论
- 关于函数可重入与其线程安全之我讨论(二)
- 一道前端面试题,关于函数声明和函数表达式
- 关于函数声明和调用时参数个数不一致的情况
- 关于gcc内置函数和c隐式函数声明的认识以及一些推测
- 关于opencv中的imread()函数声明
- 关于函数的声明与调用