我有一个并行 For 循环,在该循环中我有一个数据集,其中包含特定于从并行循环返回的值的数据,如下所示:
Parallel.For(0, uSet.Tables[0].Rows.Count, new ParallelOptions { MaxDegreeOfParallelism = val.MaxSubIterations() }, br =>
{
List<DataSet> MstWiseData = bll.GetUIDTable(uSet.Tables[0].Rows[0]["UID"].ToString());
//Long Process Starts
});//Uid Parallel
我的问题是,MstWiseData变量是否在每个循环中都被清除,或者在循环完成之前是否保留其中的数据,对于另一个并行循环,创建相同变量的另一个实例,即线程 x 上的循环在线程 y 上的变量和循环有 4 个数据集。循环 x 的变量是否被循环 y 替换?
因为我需要使用该变量并在长流程完成后处理它。