我的問題集中在一些以前沒有失敗的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