C++ C++;PPL-初始化可组合的

C++ C++;PPL-初始化可组合的,c++,parallel-processing,ppl,C++,Parallel Processing,Ppl,假设在封闭范围内,我有一些变量,并行for循环中的每个线程都应该访问这些变量。我有一个可组合的想法,在每个线程中复制一个变量。但是,我不明白如何初始化我的可组合对象: 例如,我想使用QString公式的副本。我为每个线程中复制的内容创建了一个可组合的站: combinable<QString> formulaRx; ??这会解决问题吗,还是仍然有与线路的并发访问 formulaRx.local() = formula; 正确的处理方法是什么 如果不清楚,请告诉我 感谢和问候。

假设在封闭范围内,我有一些变量,并行for循环中的每个线程都应该访问这些变量。我有一个可组合的想法,在每个线程中复制一个变量。但是,我不明白如何初始化我的可组合对象:

例如,我想使用QString公式的副本。我为每个线程中复制的内容创建了一个可组合的站:

 combinable<QString> formulaRx;
??这会解决问题吗,还是仍然有与线路的并发访问

 formulaRx.local() = formula;
正确的处理方法是什么

如果不清楚,请告诉我


感谢和问候。

您无需分配
formulaRx.local()
。 这是可组合对象的本地副本的getter

parallel_for(0,p,(int i)
{
     QString f = formulaRx.local();

     // do things with f which is the local copy of formulaRx

});

谢谢然而,我应该更精确一些:我也在同样的情况下使用指针::如果公式是指针呢?那么我猜“指针”f会指向同样的东西。
parallel_for(0,p,(int i)
{
     QString f = formulaRx.local();

     // do things with f which is the local copy of formulaRx

});