怎么让线程可以调用类中的变量
如何让线程可以调用类中的变量由于写程序时 ,发现程序经常假死,所以考虑创建个线程,但是发现创建的线程无
如何让线程可以调用类中的变量
由于写程序时 ,发现程序经常假死,所以考虑创建个线程,但是发现创建的线程无法用类中的变量
class Foo{
};
ThreadFunc(LPVoid lpParam)
{
Foo *f = (Foo *)lpParam;
}
Foo *f = new Foo;
CreateThread(NULL,0, ThreadFunc, f,0,NULL);
[解决办法]“类中的变量”不存在于内存中。比如说,你告诉我人类的耳朵位于东经多少度北纬多少度?
必须指定一个对象,才能访问它的变量。例如,你必须指定是张三还是李四,才能说他的耳朵位于地球上什么经纬度。
既然有对象了,直接把该对象的指针传给线程就完事了,还有什么问题?
要访问多个变量?要访问多个对象?先把所有你要访问的东西的指针都放在一个专门的结构体里,然后把这个结构体的指针传给线程完事,还有什么问题?
[解决办法]你创建线程的时候直接将变量作为线程函数的参数传递给线程不行吗?