您的位置:首页 > 其它

多线程函数和静态线程函数调用类成员非静态变量和函数的问题

2008-02-01 10:04 253 查看
创建线程时,线程函数如果要设置成类的成员函数,则必须是静态成员函数,在此函数种不能使用非静态成员变量,如果要使用非静态成员变量,则一种比较适合线程的方法是:建立线程的时候把this作为CreateThread的一个参数(即第4个参数,就是那个LPVOID型的),然后线程里就对应pParam,例如:
static UINT ThreadProc(LPVOID pParam)
{
Your_Class *p=(Your_Class *)pParam;
//然后用p间接使用成员变量。
}
线程函数是回调函数,因此它必须是静态成员函数或者是类外部声明的全局函数。

更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: