如何使增强螺纹自毁?(C++)

Rel*_*lla 4 c++ multithreading boost class function

我有一个类,有一些功能,如:

void workerFunc(int ClassVariable)  
{  
    boost::posix_time::seconds workTime(classVariableA);  

    std::cout << "Worker: running" << std::endl;  

    // Pretend to do something useful...  
    boost::this_thread::sleep(workTime);  


    std::cout << ClassVariable << std::endl;  
    std::cout << "Worker: finished" << std::endl;  
}  
Run Code Online (Sandbox Code Playgroud)

我希望在线程中.以及我想要工作的其他一些功能

while(1)
{
 boost::thread workerThread(workerFunc(ClassVariableB));  
}
Run Code Online (Sandbox Code Playgroud)

所以每次都可以创建线程.但我需要的是该线程在完成后自动销毁.怎么办这样的事情?

Bjö*_*lex 5

你不必为此做任何事情.你只需要确保线程真正完成(即没有无限循环等).

  • 有时您的线程具有无限循环(例如,侦听传入的网络流量).在这种情况下,您必须向该线程发送一个信号以使其停止,然后加入它以确保它确实停止.另一种情况是线程正在为您执行某项任务,并且您只能在该任务完成时继续. (3认同)