一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

探秘.NET 4和Visual Studio 2010中的多核利用

  如果你想利用多核機器的強大計算能力,你需要使用PLINQ(并行LINQ),任務并行庫(Task Parallel Library,TPL)和Visual Studio2010中的新功能創建應用程序。

  以前,如果你創建的多線程應用程序有BUG,那要跟蹤起來是很麻煩的,但現在情況完全變了,感謝微軟為我們帶來了Microsoft Parallel Extensions for .NET(.NET并行擴展),它在.NET框架線程模型上提供了一個抽象層。

  并行擴展遵循微軟在COM應用程序中建立的事務管理和在數據訪問領域建立的實體框架和LINQ模型,它試圖通過給.NET框架中的復雜過程建立高級支持,以便將先進的技術帶給大眾,隨著多核處理器的普及,開發人員渴望他們的應用程序可以利用所有處理器核心的計算能力。

  你可以通過并行LINQ(PLINQ)和任務并行庫(Task Parallel Library,TPL)使用并行擴展的功能,它們都允許你為單核和多核計算機寫一套代碼,依靠.NET框架,最大限度利用代碼執行平臺的計算能力,并防止自行創建多線程應用程序時常見的陷阱。

  PLINQ擴展了LINQ查詢,它將單個查詢分解成多個并行運行的子查詢,TPL允許你創建并行運行的循環,而不是一個接一個地運行,雖然PLINQ的聲明語法使創建并行進程更加簡單,但一般情況下,面向TPL的操作比PLINQ查詢更輕量級。

  許多時候,選擇TPL還是PLINQ只是一種生活方式,如果喜歡并行循環,而不是并行查詢,那么設計一個TPL解決方案比設計一個PLINQ解決方案更容易。

  PLINQ簡介

  對于商業應用程序,只要LINQ查詢涉及到多個子查詢時,PLINQ就像金子一樣發光,如果你要連接本地數據庫某張表中的行和另一個遠程數據庫某張表中的行,PLINQ將非常有用,在這種情況下,LINQ必須在每個數據源上獨立運行子查詢,然后調和結果,PLINQ將會把這些子查詢分配給多個處理器核心,這些子查詢就可以同時執行。實際上,你使用的處理器周期不是少了,而是更多了,當然好處就是你可以更早得到結果,請閱讀“并行處理不會讓你的應用程序變得更快”了解更多關于多線程應用程序的行為。

  并行處理不會讓你的應用程序變得更快

  關于多線程應用程序最常見的一個誤解是,應用程序線程越多,運行速度就越快,多啟動一個線程并不會導致Windows給你的應用程序更多的處理周期,它只是把這些周期劃分給更多線程了,實際上,在單處理器計算機上,開啟多線程只會讓你的應用程序變得更慢。

  多線程只是讓你的應用程序響應更快,但它仍然要等待其它阻塞任務完成先,不過在等待期間,你可以利用多線程應用程序的特點讓其它線程做一些別的事情。在單核機器上,如果線程未被阻塞,多個線程只能相互爭奪有限的處理周期。

  多核處理器改變了這種狀況,在多核環境中,你可以讓Windows給你的應用程序分配更多的處理周期,你不需要阻塞線程,所有線程都在它們自己的核心上執行。并行擴展提供了編程結構,允許你告訴.NET框架應用程序那些部分可以并行執行。

  即使在多核機器上,PLINQ也并不總是并行的查詢,有兩個原因,一是你的應用程序并行運行不會總是更快,第二個原因是,即使你有一個抽象層管理你的線程,在并行處理時總會出現腳步不一致的情況,PLINQ會檢查一些不安全的條件,如果檢測到就不會進行并行查詢。我會指出PLINQ不會檢查的問題和條件,但使用PLINQ出了問題只有你自己負責處理。

  處理PLINQ

  調用PLINQ很簡單,只需要在你的數據源中添加ASParallel擴展,下面是一個從本地Northwind數據庫連接遠程Northwind數據庫,根據客戶(customer)信息查詢訂單(Orders)的示例:

   1. Dim ords As System.Linq.ParallelQuery(Of ParallelExtensions.Order)  
2. ords = From c In le.Customers.ASParallel Join o In re.Orders.ASParallel
3. On c.CustomerID Equals o.CustomerID
4. Where c.CustomerID = "ALFKI"
5. Select o

NET技術探秘.NET 4和Visual Studio 2010中的多核利用,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲图片校园另激情类小说 | 久久婷婷国产麻豆91天堂 | 视频在线观看一区二区三区 | 亚洲一区二区三区在线播放 | 国产丝袜美腿高跟白浆 | 久久精品中文字幕免费 | 色月 | 国产成人亚洲精品91专区高清 | 91精品欧美成人 | 久久夜色精品国产噜噜小说 | 麻豆久久精品免费看国产 | 九色视频在线看 | 精品伊人久久大线蕉色首页 | 美女黄网站 | 久久六月丁香婷婷婷 | 六月婷婷网视频在线观看 | 国产成人精选免费视频 | 91视频一88av | 成人欧美在线观看 | 亚洲精品国产手机 | 日本高清色www网站色 | 亚洲五月花丁香花社区 | 亚洲福利视频网址 | 激情小说激情图片 | 国产成人一区二区视频在线观看 | 日本aⅴ日本高清视频影片www | 99久久香蕉国产综合影院 | 国产色婷婷免费视频 | 韩国一级片免费 | 精品一区二区三区波多野结衣 | 亚洲伊人国产 | 青青草国产97免久久费观看 | 亚欧成人乱码一区二区 | 国产自在线观看 | 国产不卡一区 | 青青草国产精品人人爱99 | 成人黄视频在线观看 | 日本一区二区三区免费观看 | 国产高清在线精品 | 在线视频一区二区三区四区 | 黄视频在线观看网站 |