博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年3月30日

摘要: 继续上一篇文章学习Parallel.在上章中说道用并行操作在一千万条数据中搜索给定条件的数据比普通的for循环或foreach循环要快近一倍,本次在用linq和linq中的parallel与parallel.For进行比较:(数据还是上一章中的)linq查询: /// <summary> /// Linq查询 /// </summary> /// <returns></returns> public static List<string> SearchByLinq() { var query ... 阅读全文

posted @ 2012-03-30 17:23 蔡豹 阅读(260) 评论(0) 推荐(0)

2012年2月27日

摘要: 使用Task Library非常简单,就像手动建立Thread一般直觉,它拥有Thread Pool所有的有点,没有Thread Pool的缺点,下面来看一个最简单的Task代码 1 static void Main(string[] args) 2 { 3 int num = 100; 4 Task t = new Task(() => { 5 num = num * 2; 6 }); 7 t.Start(); 8 t.W... 阅读全文

posted @ 2012-02-27 16:26 蔡豹 阅读(312) 评论(0) 推荐(0)

摘要: 在命名空间System.Threading.Tasks下,有一个静态类Parallel,Parallel主要提供了3个有用的方法:For、ForEach、Invoke。并行操作遍历集合不是顺序的,如果输出必须是同步的、有顺序的,建议不要使用Parallel类。下面是用Parallel中的For,ForEach与普通的Foreach循环对集合操作的运行时间进行了一下比较:首先 生成一千万的测试数据存入集合,集合中是随机生成的字符串,要做的就从集合中查找包含字符串"a"或"abc"所消耗的时间(单位:毫秒(ms))。 1 /// <summary> 阅读全文

posted @ 2012-02-27 13:58 蔡豹 阅读(452) 评论(0) 推荐(0)