草庐IT

badhappened

全部标签

C++ kill方法无需不断检查标志

我有几个工作函数,它们会调用可能会发生坏事的辅助函数。我希望能够在辅助功能确定发生错误时停止工作功能,而无需在工作功能中进行大量标志检查。例如,structWorker{boolbadhappened=false;Worker(){std::thread([&](){while(notbadhappened);//killthework}).detach();}intWorkComponent{if(badhappening())badhappened=true;returnsomeint;}voidDoWork{//WorkComponentscalledseveraltimes}}