我有一个对象MyClass
,它正在分离的线程中启动一些后台处理。
内部MyClass
标头文件:
std::unique_ptr<std::thread> loadingThread;
内部MyClass
impl文件:
loadingThread.reset(new std::thread(&MyClass::acquireFileModel, this));
loadingThread->detach();
在acquireFileModel
方法中,我们进行需要一段时间才能完成的同步调用。在此期间,MyClass
实例可能会被破坏(它与UI中的某个页面相关)。
在同步调用完成后,如何检查我的实例是否仍然存在?我无法对数据做任何事情,如果启动后台线程的对象实例已经消失,应该放弃。
我是否应该从另一个指向MyClass
的弱指针的对象启动工作,因此我可以检查指针后知道对象是否仍然存在?