我的问题集中在一些以前没有失败的Parallel.ForEach代码上,现在我们的数据库已经增长到5倍大,几乎定期打破。在处理非常大的数据集时,Parallel.ForEach抛出异常
Parallel.ForEach<Stock_ListAllResult>(lbStockList.SelectedItems.Cast<Stock_ListAllResult>(), SelectedStock =>
{
ComputeTipDown(SelectedStock.Symbol);
});
的ComputeTipDown()方法获取所有的日常股票TIC数据的符号,并遍历每一天,获取昨天的数据,并做了一些计算,然后将它们插入到数据库中的每一天。
当公式更改时,我们很少使用它来重新计算静态数据值。
例外情况是这样的:
我们正在进入数据库具有RAM的16场演唱会,是双路四核,没有人再使用该系统,而我是重新计算。运行应用程序以重新生成代码的机器是一台带有12个超线程八进制内核的ram笔记本电脑。所以没有明显的资源争夺。
这是我对使用.NET 4和并行处理的尝试,所以我想知道是否有我丢失的东西。任何想法都会受到欢迎。
任何解决方案与完整的源代码? – Kiquenet 2012-08-22 19:54:25