我的代码的简化版本如下所示:
class threadCreator
{
void threadFunction(void){
// use some private data members and do something.
}
void createThread(void){
boost::thread myThread(
boost::bind(&threadCreator::threadFunction,this));
myThread.detach();
}
}
这个程序等待线程完成执行然后退出,即使我在线程上调用了分离方法。如果我删除该类,并仅在一个函数中创建我的线程,这似乎可以按预期工作。
我认为这与仍在内存中的对象有关。但是我是 C++ 学习者,不知道如何解决这个问题。