浏览 2226 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-05
包括:在匿名函数里头的Parallel For语法。和Threading.Tasks命名空间。它为调度操作提供了一个高级的任务管理器。与现在的线程池不同,在这个管理器中任务可以和其他任务关联。因此取消一个任务就可以自动地取消该任务的全部子任务。 有些被强烈要求的特性还没出现在Parallel Extensions当中。Joe Duffy列出了其中的一些,包括可验证的线程安全(verifiable thread safety)以及自动化的并行性(automatic parallelism)。另一个考虑中的特性是使用图形处理器来完成通用的操作。 同样的功能要等待Java 7.0才可能具备,预计时间将是2009年. 一个简单的PLINQ Demo,运行在PLINQ CTP之上. using System; using System.Collections.Generic; using System.Linq; namespace PLinqDemo { class Program { static void Main(string[] args) { string[] words = new[] { "Hello", "World", "PLINQ", "IS", "NOT", "BAD", "!!" }; var lazyBeeQuery = from word in words.AsParallel() select word; lazyBeeQuery.ForAll<string>(word => { Console.WriteLine(word); }); } } } 图片是一个普通的LINQ和PLINQ循环100000次后的情况,红色框里的是普通LINQ,蓝色框里是PLINQ,请注意我的双核系统负载的前后差异(该例子只是为了显示负载,并未为并行计算而设计) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |