我编写了 Wpf 代码来使用随机变量生成正态分布。
using System.Threading.Tasks;
using System.Threading;
private void Button_Click(object sender, RoutedEventArgs e)
{ .....
for (int t = 0; t < normalx.Count; t++)
{
normaly.Insert(t, (2 / ((Math.Pow(2 * Math.PI, 0.5)) * rmsnormalvalue)) * Math.Exp(-0.5 * Math.Pow(standardnormalx.ElementAt(t), 2)));
}
...
}
这是连续代码。
要作为并行线程运行,我将其更改为
Parallel.For(0, normalx.Count, t =>
{
normaly.Insert(t, (2 / ((Math.Pow(2 * Math.PI, 0.5)) * rmsnormalvalue)) * Math.Exp(-0.5 * Math.Pow(standardnormalx.ElementAt(t), 2)));
});
但是构建没问题,但是在运行时只有一个线程区域(normalx.Count/8
<-我的电脑是i7)
工作和计算。
怎么了?