假设在封闭范围内,我有一些变量,parallel_for 循环中的每个线程都应该访问这些变量。我有一个可以组合的想法,在每个线程中制作一个我的变量副本。但是,我不明白如何初始化我的可组合事物:
例如,我想使用 QString 公式的副本。我为每个线程中的复制内容创建了一个可组合的代表:
combinable<QString> formulaRx;
那我应该写:
parallel_for(0,p,[&formulaRx, formula](int i)
{
formulaRx.local() = formula;
// do things
});
? 这会解决问题吗,还是仍然可以与线路并发访问
formulaRx.local() = formula;
处理这个问题的正确方法是什么?
如果不清楚请告诉我
谢谢并恭祝安康。