简单的说, 主线程的函数能不能调用 子线程创建的类的成员函数?
比如:
class MyClass
{
public:
MyClass();
~MyClass();
void func(){this->deleteLater();}
};
class MyThread:public QThread
{
public:
MyThread();
~MyThread();
void run();
void MainthreadFunc();
private:
MyClass *myclass;
};
void MyThread::run()
{
MyClass *myclass = new MyClass();
forever
{
if(myclass == NULL)
return;
}
}
void MyThread::MainthreadFunc()
{
if(myclass)
{
myclass->func();
}
}
那么, MyThread::MainthreadFunc() 直接调用子线程的函数 func() 会不会有问题?不考虑代码中的内容,这种线程间直接调用方式安全吗?有没有通用的安全调用方式?
谢谢