小编San*_*kar的帖子

并行处理期间的值存储

我刚尝试了这个简单的程序......没什么特别的..

double[] a = new double[100000];
double[] b = new double[100000];

List<double> a1 = new List<double>();
List<double> b1 = new List<double>();

for (Int64 i = 0; i < 100000; i++)
{
    a[i] = i;
    a1.Add(i);
}

Parallel.For(0, 100000, delegate(Int64 i)
{
    b[i] = i;
    b1.Add(i);
});
Run Code Online (Sandbox Code Playgroud)

根据此代码,每个必须在a,b,a1,b1中存储100000个数字.但有时,变量b1(由并行处理更新的列表)的数字少于100000(保持在90000和100000之间变化).我想知道为什么...

奇怪的记忆分配

c# parallel-processing task-parallel-library

3
推荐指数
1
解决办法
319
查看次数