boost :: thread_group - 如何在调用join_all并且线程不可连接时避免异常?

时间:2014-08-19 09:54:32

标签: c++ multithreading boost boost-thread

当我调用AccessViolationException方法时,我在提升库if ((*it)->joinable())的这一行收到join_all。这是我的代码:

void TransactionsApi::UnscheduleThreads()
{
    work = false;
    threadGroup.join_all();   // boost::thread_group
}

所以我只是将work标志设置为false,每个threadGroup线程只是" spin"它就像while (work) {work标志false线程关闭一样。

在我的情况下,我猜可能早于我调用join_all方法的线程关闭,这就是发生异常的原因。我应该如何修复我的应用程序以避免此异常?

0 个答案:

没有答案