当我调用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
方法的线程关闭,这就是发生异常的原因。我应该如何修复我的应用程序以避免此异常?