最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#任務(wù)并行Parellel.For和Parallel.ForEach

 更新時間:2022年07月14日 08:45:27   作者:奮斗的大橙子  
這篇文章介紹了C#任務(wù)并行Parellel.For和Parallel.ForEach的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

簡介:任務(wù)并行庫(Task Parellel Library)是BCL的一個類庫,極大的簡化了并行編程。

使用任務(wù)并行庫執(zhí)行循環(huán)

C#當中我們一般使用for和foreach執(zhí)行循環(huán),有時候我們呢的循環(huán)結(jié)構(gòu)每一次的迭代需要依賴以前一次的計算或者行為。但是有時候則不需要。如果迭代之間彼此獨立,并且程序運行在多核處理器上,如果能將不同的迭代放到不同的處理器上并行處理,則會獲益匪淺。Parallel.For和Parallel.ForEach就是為此而生的。

①使用Parallel.For 聲明如下:

這里可以看到 toExclusive這個參數(shù),它是不含的, 在使用的時候傳入?yún)?shù)要注意下。

舉個例子:

static void Main(string[] args)
{
    Parallel.For(0, 5, i =>
       {
           //打印平方
           Console.WriteLine("The Square of {0} is {1}", i, i * i);
       }
    );
    Console.ReadKey();
}

執(zhí)行結(jié)果:

The Square of 0 is 0
The Square of 2 is 4
The Square of 1 is 1
The Square of 4 is 16
The Square of 3 is 9

從執(zhí)行結(jié)果上我們可以看到,它不是按順序執(zhí)行的。那么問題來了,怎么讓結(jié)果保持有序?

我們可以通過一個數(shù)組來存儲執(zhí)行的結(jié)果,例如下面的例子:

static void Main(string[] args)
{
    const int maxValues = 5;
    int[] Squares = new int[maxValues];
 
    Parallel.For(0, maxValues , i =>Squares[i] = i*i );
 
    for (int i = 0; i < maxValues; i++) Console.WriteLine("Square of {0} is {1}", i, Squares[i]);
 
    Console.ReadKey();
}

我們首先定義了一個數(shù)組,然后由于數(shù)組的下標已經(jīng)定下來了,所以每次執(zhí)行都會存入具體的位置,然后遍歷結(jié)果的數(shù)組,就得到了有順序的結(jié)果。

②使用Parallel.ForEach

最簡單的實現(xiàn),聲明如下:

舉例:

static void Main(string[] args)
{
    string[] squares = new string[]
        {"We", "hold", "these", "truths", "to", "be", "self-evident", "that", "all", "men", "are", "created", "equal"};
 
    Parallel.ForEach(squares,
        i => Console.WriteLine(string.Format("'{0}' has {1} letters", i, i.Length)));
 
    Console.ReadKey();
}

結(jié)果:

'We' has 2 letters
'hold' has 4 letters
'these' has 5 letters
'to' has 2 letters
'truths' has 6 letters
'self-evident' has 12 letters
'that' has 4 letters
'be' has 2 letters
'men' has 3 letters
'are' has 3 letters
'created' has 7 letters
'equal' has 5 letters
'all' has 3 letters

這里同樣可以看到,不是按順序遍歷的?!?/p>

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • C# textbox實時輸入值檢測方式

    C# textbox實時輸入值檢測方式

    這篇文章主要介紹了C# textbox實時輸入值檢測方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • c#關(guān)于非托管內(nèi)存的釋放問題及解讀

    c#關(guān)于非托管內(nèi)存的釋放問題及解讀

    這篇文章主要介紹了c#關(guān)于非托管內(nèi)存的釋放問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • .net 通過 WebAPI 調(diào)用nsfwjs 進行視頻鑒別功能

    .net 通過 WebAPI 調(diào)用nsfwjs 進行視頻鑒別功能

    這篇文章主要介紹了.net 通過 WebAPI 調(diào)用 nsfwjs 進行視頻鑒別,文末給大家提到了FFMPEG獲取視頻關(guān)鍵幀并保存成jpg圖像的相關(guān)知識,需要的朋友可以參考下
    2021-09-09
  • C#索引器介紹

    C#索引器介紹

    這篇文章主要介紹了C#索引器介紹,索引器是一種特殊的類成員,它能夠讓對象以類似數(shù)組的方式來存取,使程序看起來更為直觀,更容易編寫,需要的朋友可以參考下
    2014-10-10
  • C#實現(xiàn)字符串轉(zhuǎn)換成字節(jié)數(shù)組的簡單實現(xiàn)方法

    C#實現(xiàn)字符串轉(zhuǎn)換成字節(jié)數(shù)組的簡單實現(xiàn)方法

    這篇文章主要介紹了C#實現(xiàn)字符串轉(zhuǎn)換成字節(jié)數(shù)組的簡單實現(xiàn)方法,僅一行代碼即可搞定,非常簡單實用,需要的朋友可以參考下
    2015-05-05
  • C#基礎(chǔ)概念二十五問 16-20

    C#基礎(chǔ)概念二十五問 16-20

    C#基礎(chǔ)概念二十五問 16-20...
    2007-04-04
  • C# .NET中Socket簡單實用框架的使用教程

    C# .NET中Socket簡單實用框架的使用教程

    最近一個項目因為要用到Socket傳輸問題,所以決定學(xué)習一下,將自己學(xué)習的內(nèi)容總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于C# .NET中Socket簡單實用框架使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-09-09
  • C#實現(xiàn)文本讀取的7種方式

    C#實現(xiàn)文本讀取的7種方式

    這篇文章主要介紹了C#實現(xiàn)文本讀取的7種方式,文本讀取在上位機開發(fā)中經(jīng)常會使用到,實現(xiàn)的方式也有很多種,下面我們就來分享七種方式,需要的小伙伴可以參考一下
    2022-05-05
  • 基于C#實現(xiàn)屏幕桌面截圖

    基于C#實現(xiàn)屏幕桌面截圖

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)屏幕桌面截圖以及左上角區(qū)域截圖功能,文中的示例代碼講解詳細,對我們學(xué)習C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C#實現(xiàn)操作PPT動畫窗格并插入音頻文件

    C#實現(xiàn)操作PPT動畫窗格并插入音頻文件

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)操作PPT動畫窗格并插入音頻文件,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2023-10-10

最新評論

朝阳区| 息烽县| 丘北县| 左云县| 罗定市| 阳新县| 临潭县| 资阳市| 清水县| 临安市| 和林格尔县| 炎陵县| 泌阳县| 宝兴县| 深圳市| 晋城| 彰化市| 沧州市| 太仓市| 随州市| 蒲城县| 西安市| 延庆县| 武安市| 八宿县| 紫金县| 郯城县| 漳州市| 锡林浩特市| 蛟河市| 海门市| 上高县| 富川| 太仆寺旗| 张北县| 阿拉善左旗| 资中县| 仁怀市| 双流县| 夏津县| 桐城市|