成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# 多線程使用Parallel.ForEach并行循環,真的能提高效能?

開發 后端
Parallel類是.NET 4中新增的抽象線程類。Parallel.For()方法類似于C#的for循環語句,也是多次執行一個任務。但是使用Parallel.For()方法,可以并行運行。微軟的并行運算平臺(Microsoft’s Parallel Computing Platform (PCP))提供了這樣一個工具,讓軟件開發人員可以有效的使用多核提供的性能。

[[437438]]

本文轉載自微信公眾號「后端Q」,作者conan。轉載本文請聯系后端Q公眾號。

 概述

Parallel類是.NET 4中新增的抽象線程類。Parallel.For()方法類似于C#的for循環語句,也是多次執行一個任務。但是使用Parallel.For()方法,可以并行運行。微軟的并行運算平臺(Microsoft’s Parallel Computing Platform (PCP))提供了這樣一個工具,讓軟件開發人員可以有效的使用多核提供的性能。Parallel.ForEach()和Parallel.For()就是微軟并發類的成員。

測試

今天做了一個簡單的測試,同樣方法一般的for和foreach循環用時都在10秒鐘;并發for循環在0.5秒,并發foreach在0.1秒鐘。但是并發循環不能濫用,在簡單的少次數循環下,并發循環可能會體現不出其優勢。

結論

如果邏輯過于簡單的話,創建線程的花費將大于業務執行的花費,此時不建議使用Parallel。

示例

此示例循環去執行指定的任務,屬于比較耗時,所以使用Parallel,提高效率。

  1. var objctLock = new object(); 
  2.            Parallel.ForEach(columnsList, () => new List<TencentSportDateMatches>(), (x, l, r) => 
  3.            { 
  4.                GetMatchListByColumns(startDate, endDate, x.ColumnsId, x.Name, r); 
  5.                return r; 
  6.            }, x => 
  7.            { 
  8.                lock (objctLock) 
  9.                { 
  10.                    x.ForEach(z => 
  11.                    { 
  12.                        var info = result.FirstOrDefault(k => k.Date == z.Date); 
  13.                        if (info == null
  14.                        { 
  15.                            info = new TencentSportDateMatches 
  16.                            { 
  17.                                Date = z.Date
  18.                                Matches = new List<TencentSportMatchInfo>() 
  19.                            }; 
  20.                            result.Add(info); 
  21.                        } 
  22.                        info.Matches.AddRange(z.Matches); 
  23.                    }); 
  24.                } 
  25.            }); 

 

 

責任編輯:武曉燕 來源: 后端Q
相關推薦

2010-03-19 13:17:26

Parallel

2025-05-08 08:10:53

2017-11-17 06:04:04

終端安全漏洞惡意軟件

2012-07-27 16:16:44

H3C SecBlad云安全H3C

2024-09-29 16:22:18

多線程TaskC#

2024-09-27 19:42:09

工具C#Task?

2021-09-09 07:16:00

C#多線程開發

2010-01-26 19:42:03

IT服務運維管理摩卡軟件

2010-02-03 19:14:54

IT服務運維管理摩卡軟件

2024-05-29 09:13:37

2009-02-16 16:49:53

DBA經驗

2023-01-04 08:31:10

轉轉測試環境

2012-06-29 09:51:22

虛擬化

2016-10-19 14:40:29

Kilopass

2011-05-06 09:07:19

惠普打印機

2010-04-15 04:01:43

曙光GHPC1000

2009-03-19 17:42:13

Nehalem服務器奔騰

2012-07-02 10:14:56

2009-08-12 18:04:44

編寫C#多線程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品一区二区三 | 九九热精品视频在线观看 | 久久中文字幕一区 | 久草视频在线播放 | 国产精品无码专区在线观看 | www.99热这里只有精品 | 国产精品国产三级国产aⅴ中文 | 欧美高清视频一区 | 国产精品成人一区二区三区 | 欧美日韩中文在线 | 久久国产视频播放 | 91在线精品秘密一区二区 | 日日日色| 91直接看| 狠狠操天天干 | 日本欧美国产在线观看 | 欧美日本亚洲 | 日韩国产精品一区二区三区 | 日韩久久久久久 | 日韩中文字幕在线视频观看 | 一区二区三区四区在线播放 | 中文字幕亚洲精品在线观看 | 亚洲精品视频三区 | 情侣酒店偷拍一区二区在线播放 | 亚洲一区免费 | 日韩不卡三区 | 天天干天天玩天天操 | 免费观看一级视频 | 久久久夜 | a黄视频 | 精品久久久久久18免费网站 | 亚洲精品自在在线观看 | 欧美精品一区二区三区在线四季 | 国产欧美在线 | 欧美视频一区 | 国产精品久久av | 国产高清精品一区二区三区 | 国产97色 | 久久久久久网站 | 中文字幕视频在线观看 | 国产精品久久久久久久久免费桃花 |