中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解.NET 4并行編程

發布時間:2021-11-25 09:17:07 來源:億速云 閱讀:106 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關如何理解.NET 4并行編程,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1.并行編程和多線程編程的區別。

1.1并行編程。

現在隨著多核計算機的普及,并行編程技術,也就是多核編程技術也逐漸稱為開發的主流。為此,在.NET 4 中就引入了“并行編程”。在.NET 4 中一些列的Library和類為并行編程提供了支持,如: Task Parallel Library,Parallel  LINQ等。

其實在.NET 1.0中就有了并行編程技術的一些實現---多線線程技術。多線程***的問題就是難于使用和管理。在使用多線程的使用,因為它的復雜性,往往使用我們把注意力分散了多線程上。而致使我們的最初目的被掩蓋了。

1.2 比較區別

在.NET 4中提出的并處編程的底層機制其實還是基于多線程的。但是他們之前***的區別就是.NET 4中的并行編程更加方便。

在傳統的編程模型中,程序員負責創建線程,為線程分配任務,管理線程。一個形象的比喻:你擁有一批士兵,然后你對他們下達命令,之后,你就必須時刻監視你的那些士兵,確保他們按照你的意圖辦事。(很累吧!)

在.NET 4中的并行編程是依賴Task Parallel Library(后面簡稱為TPL) 實現的。在TPL中,最基本的執行單元是task(中文可以理解為"任務"),一個task就代表了你要執行的一個操作。你可以為你所要執行的每一個操作定義一個task,TPL就負責創建線程來執行你所定義的task,并且管理線程。TPL是面向task的,自動的;而傳統的多線程是以人工為導向的。

Task機制使得我們把注意力關注在我們要解決的問題上面。如果之前的多線程技術使得我們放棄了一些并行編程的使用,那么.NET 4中的新的并行編程技術可以讓我們重新建立信心。

雖然有了新的并行技術,但是傳統的多線程的技術還是很有用的。當我們使用TPL中的并行技術的時候來執行多個task的時候,我們不用在關心底層創建線程,管理線程等。

2. 并行編程技術的利弊

使用并行技術***的好處就是提高了系統的性能。并行處理過程一般是這樣的:一個要執行的任務被拆分為很多很小的部分,然后這些很小的部分就分別在不同處理器(可以是多核的一臺電腦,也可以使很多的電腦)上執行。因為這些很多很小的部分同時在執行,所以稱之為"并行"。

使用并處編程的時候需要考慮下面的問題:

1.開銷問題。

并行執行不是免費的,也是要開銷的。在并行運行開始和管理都是需要開銷的,就類比在線程的創建和管理一樣。在程序中,你要執行的任務越多,那么使用并行的效果就越好。

2. 數據的協調

如果在并行執行的那些小部分需要共享公共的數據,那么我們就要協調。一般來說,需要協調的數據越多,并行執行的性能損耗就越大。如果執行各個小部分之間都是獨立的,那么我們就不用協調了。但是很多的時候,我們都是需要協調的。而且協調的技術也不是很難,在之后的文章中會一一講述。

3.性能提高多少

增加一臺計算機的CPU可能會提高程序的運行速度,但是不是絕對的。我們知道,一個應用程序在單核的計算機上運行的時間不一定(往往也不是)雙核計算機的

1/2.所以,采用并行編程不一定就一定會成倍的提高程序的性能。因為性能與很多的因數有關的,硬件就是很大的因數。

3. 何時采用并行編程

建議:如果一個問題能夠用并行編程解決,那么就用,否則就不用。聽起來好像是廢話,但是確實是一個很不錯的建議。因為并行編程也不是***的,也只能

解決一類的問題,所以在用之前要分析問題了。如果一個問題確實能夠用并行的方案來解決,但是有很多的因數影響,如之前我們提到的一些問題。權衡使用之后的開銷和好處在決定是否使用。

上述就是小編為大家分享的如何理解.NET 4并行編程了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桃园市| 台北县| 昌黎县| 永福县| 济宁市| 万荣县| 绥江县| 若羌县| 南召县| 昌图县| 新田县| 吉林省| 古丈县| 景谷| 简阳市| 阳曲县| 宜宾县| 托克托县| 上蔡县| 大足县| 收藏| 班玛县| 巩留县| 云龙县| 同仁县| 尼勒克县| 航空| 永德县| 苍梧县| 惠东县| 广饶县| 龙井市| 普兰店市| 丹寨县| 星子县| 皮山县| 当阳市| 左权县| 抚州市| 阜康市| 任丘市|