我有一個數據表有10000行,我使用foreach循環到數據表來獲取每一行,併爲每行調用一個函數,需要2秒執行,併爲10000行總時間是20000秒,我怎樣才能使用多線程來提高性能。這裏是我的代碼如何在C#中的forech循環中使用多線程#
DataTable AttCollection = getRecord(); // 10000 records
foreach (var ac in AttCollection)
{
AddAttendace(branchID, _ep.Get_V(ac.Key, true, null), ac.Value);
}
public bool AddAttendace(int? branchID, V_HR_EmployeePlacementDetailed emp, DateTime dt)
{
//code...
}
您可以通過創建字典來查找性能,而不是逐行列舉查找。您的平均搜索時間爲N/2,而字典將爲Log2(N)。 – jdweng