JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » .Net Framework » MS Framework (WPF,WCF,LINQ)  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 PLINQ开启并行任务的时代
ray_linn

什么都不懂的小白

版主

發文: 540
積分: 10
於 2008-04-05 23:11 user profilesend a private message to usersend email to ray_linnreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Microsoft的FX家族,除了WPF,WCF等等外,又添加新丁PFX,即Parallel Extensions发布. Parallel Extensions最初发布的时候叫做PLINQ或者Parallel LINQ。当时它是一个LINQ Provider,可以自动地将查询并行化。不过现在它的范围已经大大扩张了。

其中最重要的一个改变是不再局限于查询。因为开发团队认识到有些算法无法自然地用LINQ来表达,因此将会有一套强制式的数据并行API。

包括:在匿名函数里头的Parallel For语法。和Threading.Tasks命名空间。它为调度操作提供了一个高级的任务管理器。与现在的线程池不同,在这个管理器中任务可以和其他任务关联。因此取消一个任务就可以自动地取消该任务的全部子任务。

有些被强烈要求的特性还没出现在Parallel Extensions当中。Joe Duffy列出了其中的一些,包括可验证的线程安全(verifiable thread safety)以及自动化的并行性(automatic parallelism)。另一个考虑中的特性是使用图形处理器来完成通用的操作。

同样的功能要等待Java 7.0才可能具备,预计时间将是2009年.

一个简单的PLINQ Demo,运行在PLINQ CTP之上.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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,请注意我的双核系统负载的前后差异(该例子只是为了显示负载,并未为并行计算而设计)


ray_linn edited on 2008-04-08 18:52
reply to postreply to post
飞翔的候鸟
話題樹型展開
人氣 標題 作者 字數 發文時間
1942 PLINQ开启并行任务的时代 ray_linn 1204 2008-04-05 23:11
» JWorld@TW »  .Net Framework » MS Framework (WPF,WCF,LINQ)

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8