如何用parallel遍历hashtable 用foreach (DictionaryEntry de in hashtable1)多核下想优化程序,如何用Parallel.ForEach或Parallel.For实现,望给出代码实例,不胜感激! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://stackoverflow.com/questions/1657874/using-a-hashtable-inside-a-parallel-foreach Dictionary<int, string> dic = new Dictionary<int, string>(); for (int i = 0; i < 1000; i++) { dic.Add(i, "1"); } Stopwatch sw = new Stopwatch(); sw.Start(); foreach (var kv in dic) { System.Threading.Thread.Sleep(1); } sw.Stop(); Console.WriteLine("花费时间:{0}", sw.ElapsedMilliseconds); sw.Restart(); Parallel.ForEach(dic, _ => { System.Threading.Thread.Sleep(1); }); sw.Stop(); Console.WriteLine("花费时间:{0}", sw.ElapsedMilliseconds); 64位和32位下程序不通用的问题? c#好学吗? 在C#,web中,怎样打开dwg文件, 关于ArrayList的问题 关闭线程的问题 C# winform程序,一个窗体中两个定时器的配合使用问题。 c# 关于XML的基础问题,菜鸟问题 问两个和 TCP 有关的问题!! 高分求C#学习方法,感激不尽 谁知道怎样去这个地址吗? 如何判断字符串全部是由字母和数字组成? 求助,安装程序问题
Dictionary<int, string> dic = new Dictionary<int, string>(); for (int i = 0; i < 1000; i++)
{
dic.Add(i, "1");
}
Stopwatch sw = new Stopwatch(); sw.Start();
foreach (var kv in dic)
{
System.Threading.Thread.Sleep(1);
}
sw.Stop();
Console.WriteLine("花费时间:{0}", sw.ElapsedMilliseconds); sw.Restart();
Parallel.ForEach(dic, _ => { System.Threading.Thread.Sleep(1); });
sw.Stop();
Console.WriteLine("花费时间:{0}", sw.ElapsedMilliseconds);