并发运行时是否会泄漏内存?

时间:2017-12-18 13:42:09

标签: c++ visual-studio-2015 memory-leaks mfc

我使用visual studio 2015启动了一个新的MFC项目,并添加了一个简单的parallel_for函数,该函数汇总了从1到100的所有数字,并包含vld.h(Visual Leak Detector)以检测内存泄漏源。令我惊讶的是,当我关闭程序时,我在输出窗口中看到了200多个内存泄漏。 令人不安的代码是:

std::atomic<int> sum = 0;

void CChildView::RunTask()
{
    parallel_for(1, 101, [&](int i)
    {
        sum += i;
    });

    TRACE(L"\nSum = %d", sum); 
}

我还在任务管理器中注意到程序内存正在增长,所以这是一个真正的问题。我在这里失踪了什么?我知道这是一种合法的技术,所以我做错了什么?

0 个答案:

没有答案